jQuery $ .ajax函数不接受我试图发布的数组

时间:2013-01-25 20:36:09

标签: javascript jquery ajax arrays post

我试图通过jQuery $ .ajax函数以下列方式将数据发布到我自己服务器上的脚本中:

var data = {};
var date = new Date();
data.selectedDate = selectedDate;

$.ajax({
        type: "POST",
        url: "http://www.url.com/somescript.php",
        dataType: 'json',
        data: this.data,
        async: false,
    })

如果删除数据参数,则会调用脚本。任何人都可以解释出现了什么问题吗?

3 个答案:

答案 0 :(得分:4)

this.data不是data。一个是变量,另一个是当前上下文中的属性。

当您尝试将其分配给selectedDate时,

data.date未定义。您已将new Date()分配给var date而非var selectedDate

var data = {};
var date = new Date();
data.selectedDate = date;

$.ajax({
        type: "POST",
        url: "http://www.example.com/somescript.php",
        dataType: 'json',
        data: data,
        async: false,
    })

答案 1 :(得分:0)

这应该有用。

var date = new Date();
var data = { selectedDate: date};

$.ajax({
    type: "POST",
    url: "http://www.url.com/somescript.php",
    dataType: 'json',
    data: data,
    async: false,
})

答案 2 :(得分:-1)

有人提出这个问题,但他的帖子似乎已被删除。 JSON在发布之前对数据进行了编码修复了问题。我不知道为什么我突然需要这样做,因为我已经发布到这个服务器之前没有json编码我的数据,也许这是因为我正在使用公共wifi。

JSON.stringify(this.data)

感谢每一位人士的帮助。