-1

我正在尝试通过以下方式通过 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,
    })

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

4

3 回答 3

4

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

selectedDate当您尝试将其分配给时未定义data.date。您将 分配new Date()var datenot 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,
    })
于 2013-01-25T20:42:52.127 回答
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,
})
于 2013-01-25T20:45:37.417 回答
-1

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

JSON.stringify(this.data)

感谢每一个人的帮助。

于 2013-01-25T21:09:12.573 回答