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)的主要内容,如果未能解决你的问题,请参考以下文章

前端ajax请求常见的状态码以及产生的原因

JavaScript使用Ajax实现异步通信

AJAX发展史,优点和缺点

原生js的ajax请求

jQuery:我可以在较长的 $.ajax 请求待处理时发送和接收 $.ajax 响应吗?

Ajax+PHP打造等待进度条效果