无法通过$ .post()发送其他数据

时间:2015-08-19 01:37:33

标签: jquery cookies http-post postback

使用$ .post(),我试图将$.cookie('pear')的值发送到我的PHP表单,在那里它会用它做一些事情。但问题是,PHP表单似乎无法获得$.cookie('pear')的值。

为了清楚起见,$.cookie('pear')绝对有价值。我做了alert($.cookie('pear'))来仔细检查,它肯定会显示$.cookie('pear')的值。

查看下面的代码。感谢帮助指出它有什么问题。也许我的$ .post()实现有问题?

的jQuery

submit_fruit.on({

    click: function () {

      $('#market').click();

      var pears = $.cookie('pears')

      alert(pears) // this works. it alert the value of the cookie 'pears'

      $.post('fruitsubmission.php', { pears: pears }, function(data) {

    }); // but this troublesome piece of $.post() doesn't seem to send 'pears' over to the PHP form.

}

});

PHP

$fruit = $_POST['pears'];

echo $fruit;

-- some mySQL data submissions stuff here --

但我无法获得价值' pears'从$ .post()调用发送的。

错误报告

Notice: Undefined index: pears in ******* on line 10

1 个答案:

答案 0 :(得分:0)

当我将PHP Notice: Undefined index设置为空数组或空对象时,我能够重现pears

<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function() {
    // var pears = {};
    var pears = new Array();
    $.post('fruitsubmission.php', { pears: pears }, function(data) {
        alert(data);
    });
});
</script>

当我将其设置为类似var pears = "this is a test";的内容时,它会按预期运行,因此您可能会遇到的错误是由脚本的其他部分引起的。

尝试在您的环境中隔离此错误,您可以从上面的脚本开始,然后添加其他元素。