ajax发布请求到没有响应的PHP(每次都是假设)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax发布请求到没有响应的PHP(每次都是假设)相关的知识,希望对你有一定的参考价值。

我正在使用jquery multiselect插件,我想在select / deselect事件上执行ajax请求。

我的问题:当我将请求发送到php文件时,ISSET(VAR)每次都返回false,这样我就无法将变量传递给php文件。

但Chrome / Firefox的Firebug扩展程序向我显示POST值设置正确POST - >“Response myvar”但GET为空。

如何将变量传递给php文件? (我在网上搜索但没有找到任何内容。)

我的脚本,这个指针来自multiselect插件,如果选择了一个对象,则返回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

但实际产出是

答案

第一次尝试

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');
           },

以上是关于ajax发布请求到没有响应的PHP(每次都是假设)的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress jQuery ajax GET 请求到 php 函数,该函数在每个 php 任务完成时逐步发回多个响应

数据中的Ajax传递参数发送到php

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

发送一个 AJAX 请求以处理数据并返回多个 PHP 响应以更新其进度

响应 PHP 中的 ajax 请求后如何继续处理?

如何使用jquery监视ajax请求的进度响应