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

时间:2015-06-03 11:16:38

标签: php jquery ajax post request

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

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

但Chrome / Firefox的Firebug扩展程序向我显示POST值设置正确POST - > "回复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

但实际输出是

  

FALSE

1 个答案:

答案 0 :(得分:0)

第一次尝试

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