我正在使用jquery multiselect插件,我想在select / deselect事件上执行ajax请求。
我的问题:当我将请求发送到php文件时,ISSET(VAR)每次都返回false,这样我就无法将变量传递给php文件。
但Chrome / Firefox的Firebug扩展程序向我显示POST值设置正确POST - > "回复myvar"但是GET是空的。
如何将变量传递给php文件? (我在网上搜索过但没有找到任何内容。)
我的脚本,此指针来自多选插件,如果选择了对象,则返回afterSelect
afterSelect: function()
{
this.qs1.cache();
this.qs2.cache();
count++;
var dataString = "count=" + count;
if ( count > 0 )
{
$.ajax
({
type: 'POST',
url: 'page-to-send-request.php',
data: dataString,
success: function()
{
$("#div-to-load").load("page.php #div-to-load").fadeIn('slow');
},
error: function (xhr, ajaxOptions, thrownError)
{
alert(xhr.status);
alert(thrownError);
}
});
}
},
要加载的php页面仅供测试
if($_POST['count'])
{
$count = $_POST['count'];
echo "Count " .$count;
}
else{ echo "FALSE"; }
预期结果应为
数5
但实际输出是
FALSE
答案 0 :(得分:0)
第一次尝试
success: function(data)
{
console.log(data);
},
如果不是
,则应输出"Count " .$count;
尝试使用
var dataString = {count: count};
然后你可以使用
$("#div-to-load").html(data).fadeIn('slow');
返回false的原因..你使用.load加载php页面..当你加载它时... javascript知道它是一个单独的页面..所以$_POST['count']
在这种情况下是未定义的。并且它将始终返回False
你的成功功能应该是这样的
success: function(data)
{
$("#div-to-load").html(data).fadeIn('slow');
},