Mootool - Ajax vs $ _SESSION PHP - PullRequest
       9

Mootool - Ajax vs $ _SESSION PHP

0 голосов
/ 27 января 2011
var ajax = new Ajax('process.php', {
   method: 'post',
   data:options,
   onComplete: function(data){
         alert(data);
    }

  });

process.php

    session_start();
    $_SESSION['data'] = 'hello';
    echo $_SESSION['data'];

index.php

  session_start();
   echo $_SESSION['data'];    // return null

Запустите ajax, я получаю предупреждение "привет".Хорошо, запустите index.php. Я ничего не получаю

Я не могу получить $ _SESSION ['data'], оно не определено.почему?

Ответы [ 2 ]

0 голосов
/ 27 января 2011

Две вещи:

  1. Возможно, вы только что оставили этот код вне своего примера, но ваш код mootools создает только объект Ajax.Чтобы он отправил запрос, вам нужно использовать метод запроса:

    ajax.request ();

  2. Вы пытаетесь отправить желаемое значение $_SESSION ['data'] равно в запросе ajax?Если это так, вы должны заглянуть в переменную $ _POST, чтобы получить значения, которые вы отправляете на сервер через объект Ajax (потому что вы установили 'post' в качестве метода запроса).Если вы хотите, чтобы значения, которые вы отправили в запросе, были установлены в $ _SESSION, вам нужно будет поместить их туда самостоятельно в process.php.

Попробуйте этот код (мой лучшийидея относительно того, что вы пытаетесь сделать):

Для javascript / mootools:

var ajax = new Ajax('process.php', {
  method: 'post',
  data:{'data':'hello'}
});
ajax.request();

В process.php:

session_start();
$_SESSION['data'] = $_POST['data']; /* $_SESSION['data'] = 'hello'*/

Также, еслиВаш ajax javascript содержится на странице index.php, где вы отображаете $ _SESSION ['data'], тогда вам нужно будет обновить index.php, прежде чем вы увидите изменения в $ _SESSION, сделанные вашим запросом ajax.*

0 голосов
/ 27 января 2011

если вы не знаете, как работает AJAX или нет, вы можете сделать это: в process.php возьмите

file_put_contents('test.txt', 'its work', FILE_APPEND);

, если тестовый файл создаст его, это означает, что вы вызываете файли если он не устанавливает сеанс, вы должны выполнить его, как показано ниже:

его запись в сеанс, но если вы хотите прочитать его, вы должны начать сеанс снова, чтобы снова считывать значение сеанса из файла сеанса на сервере всякий раз, когда выхочу прочитать из сессии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...