【发布时间】:2015-10-10 20:09:24
【问题描述】:
我在这样的 ajax 文件中设置了一个会话变量:$_SESSION['id_essai']=$ligne[1];。这个变量的值应该在每次提交表单时改变。
不给页面充值,我想获取这个var的值。所以我这样回应:echo $_SESSION['id_essai'];
我的问题是,当我尝试回显它时,我会得到以前的值,直到我为页面充电。我想在不为页面充电的情况下刷新此 var。我怎样才能做到这一点 ?
编辑:
我像这样向我的 ajax 文件发送一个可操作的网格:
$(document).ready(function(){
$('#submit_button_essai').click(function(){
$.post("ajax_insert_essai.php",{arr:data_essai}, insert_essai_callback,'json');
return session;
});
});
在这个 ajax 文件中,我用这个网格的一个值声明我的会话变量,我可以这样返回它:
array_unshift($tab_erreur,$_SESSION['id_essai']);
echo json_encode($tab_erreur);
所以我发送了一个错误数组和我在回调函数中处理的会话变量:
function insert_essai_callback(responseObject,ioArgs) //ajax renvoie les indices des cases erronnées et les messages correspondants.
{
var jsonobject = eval(responseObject);
console.log(jsonobject);
//alert(jsonobject[0]);
var session = jsonobject[0];
for(var item in jsonobject)
{
if((item % 2 ) == 0) //Si l'indice est pair, on affiche la couleur
{
$("td").eq(jsonobject[item-1]).after("<div class=\"message\">"+jsonobject[item]+"</div>");
}else //Si l'indice est impair, on affiche le message
{
$("td").eq(jsonobject[item]).css("background-color","red");
}
}
}
我的会话变量位于jsonobject[0]。
这是我尝试在 ajax 中返回会话变量后的代码。
【问题讨论】:
-
如果您使用 ajax 提交表单,则获取您在会话中设置的响应变量,以便获取值。
-
@DishaV。我试过了,但这并不容易。我不能用这个方法:/
-
如果你用ajax修改了一些东西,你也需要用ajax刷新它。为什么它不那么容易?给我们看一些代码
-
@Daimos 实际上,我正在使用handsontable(并且用户提交网格),并且我将一个数组发送到ajax。之后,我得到另一个包含用户错误的数组。我试图将我的会话变量添加到这个数组中并在回调函数中处理它。但我不知道如何通过这种方式获取 var。如果你愿意,我会用更多代码编辑我的帖子。
-
您如何开始您的会话?通常这是通过您的请求中的 cookie 或 PHPSESSID 参数来完成的。确保在您的请求中发送此内容。
标签: javascript php session