1

我需要更改 JavaScript 函数中的会话值,所以我决定使用 AJAX。但是,电话似乎不起作用。怎么了?

索引页面设置默认会话值:

session_start();
if( is_null($_SESSION['lang']) ){
    $_SESSION['lang'] = 'english';
}

索引页面上的 AJAX 调用:

var request = new XMLHttpRequest();
request.open('GET', 'setlang.php?entry=0', false);
request.send();

setlang.php 文件:

$entry = $_GET['entry'];
if($entry == 0){
    $_SESSION['lang'] = 'english';
    Print_r ($_SESSION);
}else if($entry == 1){
    $_SESSION['lang'] = 'japanese';
    Print_r ($_SESSION);
}

没有打印任何内容。有谁知道出了什么问题?

4

2 回答 2

2

实际上,您实际上不必检查响应(除非您省略了 javascript 的某些部分)。

检查 MDN 的XMLHttpRequest的文档。

var request = new XMLHttpRequest();
request.onload = function() {
    alert(this.responseText);
}
request.onerror = function(e) {
    alert('Error : ' + e.target.status);
}
request.open('GET', 'setlang.php?entry=0', false);
request.send();

还要确保你调用session_start();你的 php 文件。

于 2013-09-18T14:17:33.827 回答
0

在 setlang.php 的顶部添加这个:

session_start();
于 2013-09-18T14:16:15.190 回答