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