Javascript jQuery$.ajax函数赢得';t接受数组I';我想发帖
我正试图通过jQuery$.ajax函数以以下方式将数据发布到我自己服务器上的脚本:Javascript jQuery$.ajax函数赢得';t接受数组I';我想发帖,javascript,jquery,ajax,arrays,post,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,
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,
})
如果删除数据参数,脚本将被调用。有人能解释出哪里出了问题吗?
这个。数据
不是数据
。一个是变量,另一个是当前上下文的属性
当您尝试将所选日期分配给数据日期时,selectedDate
未定义。您将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,
})
这应该行得通
var date = new Date();
var data = { selectedDate: date};
$.ajax({
type: "POST",
url: "http://www.url.com/somescript.php",
dataType: 'json',
data: data,
async: false,
})
早些时候有人提出了这一建议,但他的帖子似乎已被删除。发布前对数据进行JSON编码修复了该问题。我不知道为什么我突然需要这样做,因为我之前已经在这个服务器上发布了没有json编码的数据,可能是因为我正在使用公共wifi
JSON.stringify(this.data)
感谢所有人的帮助。当你这样做$.ajax时,你不需要使用JSON.stringify吗(例如data:JSON.stringify(this.data))?这指的是什么?@Dharman:what指的是什么?(忍不住)您从未定义过
selectedDate
。我的意思是这个。
就像this.data
您好,昆汀,您好,我省略了一行代码,我在其中为$.ajax函数所在的类指定了日期。这似乎没有做到。无论采用哪种方法,我都会定义数组,得到预期的{“selectedDate”:“2013-01-25T20:48:26.490Z”}作为this.data的值