ajax 向 php 发送请求而没有响应(每次都设置为 false)
Posted
技术标签:
【中文标题】ajax 向 php 发送请求而没有响应(每次都设置为 false)【英文标题】:ajax post request to php without response (isset every time false) 【发布时间】:2015-08-17 13:44:24 【问题描述】:我正在使用jquery multiselect 插件,我想对选择/取消选择事件执行 ajax 请求。
我的问题:当我将请求发送到 php 文件时,ISSET(VAR) 每次都返回 false,因此我无法将变量传递给 php 文件。
但 Chrome/Firefox 的 Firebug 扩展显示 POST 值设置为正确 POST -> "Response 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
但实际输出是
错误
【问题讨论】:
当您在第二页的 if() 子句之前执行var_dump($_POST['count']);
时会发生什么?
感谢您的超快速回复。输出为null span>
【参考方案1】:
第一次尝试
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');
,
【讨论】:
console.log 的输出如预期的那样是 Count 5 非常感谢,这是我的问题的解决方案。现在我使用 $("#div-to-load").html(data).fadeIn('slow');一切对我来说都很好。再次感谢以上是关于ajax 向 php 发送请求而没有响应(每次都设置为 false)的主要内容,如果未能解决你的问题,请参考以下文章