ajax post 请求 php 没有响应(每次都设置为 false)
ajax post request to php without response (isset every time false)
我正在使用 jquery multiselect 插件,我想对 select/deselect 事件执行 ajax 请求。
我的问题:当我向 php 文件发送请求时,ISSET(VAR) returns 每次都是 false,因此我无法将变量传递给 php 文件.
但是 Chrome/Firefox 的 Firebug 扩展告诉我 POST 值设置正确 POST -> "Response myvar" 但是 GET 是空的。
如何将变量传递给 php 文件?
(我在网上搜索过但一无所获。)
我的脚本,这个指针来自多选插件和 afterSelect returns 如果一个对象被选中
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"; }
预期结果应该是
Count 5
但实际输出是
FALSE
第一次尝试
success: function(data)
{
console.log(data);
},
它应该输出 "Count " .$count;
如果不是
尝试使用
var dataString = {count: count};
然后你可以使用
$("#div-to-load").html(data).fadeIn('slow');
return 错误的原因.. 您使用 .load 加载 php 页面.. 当您加载它时.. javascript 知道它是一个单独的页面。 . 所以 $_POST['count']
在这种情况下是未定义的。并且它总是 return False
你的成功函数应该是这样的
success: function(data)
{
$("#div-to-load").html(data).fadeIn('slow');
},
我正在使用 jquery multiselect 插件,我想对 select/deselect 事件执行 ajax 请求。
我的问题:当我向 php 文件发送请求时,ISSET(VAR) returns 每次都是 false,因此我无法将变量传递给 php 文件.
但是 Chrome/Firefox 的 Firebug 扩展告诉我 POST 值设置正确 POST -> "Response myvar" 但是 GET 是空的。
如何将变量传递给 php 文件? (我在网上搜索过但一无所获。)
我的脚本,这个指针来自多选插件和 afterSelect returns 如果一个对象被选中
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"; }
预期结果应该是
Count 5
但实际输出是
FALSE
第一次尝试
success: function(data)
{
console.log(data);
},
它应该输出 "Count " .$count;
如果不是
尝试使用
var dataString = {count: count};
然后你可以使用
$("#div-to-load").html(data).fadeIn('slow');
return 错误的原因.. 您使用 .load 加载 php 页面.. 当您加载它时.. javascript 知道它是一个单独的页面。 . 所以 $_POST['count']
在这种情况下是未定义的。并且它总是 return False
你的成功函数应该是这样的
success: function(data)
{
$("#div-to-load").html(data).fadeIn('slow');
},