Javascript 访问Ajax响应数据
我有一个很好的代码:Javascript 访问Ajax响应数据,javascript,jquery,json,Javascript,Jquery,Json,我有一个很好的代码: {"livre":"empty_name"} $.ajax({ url: "sent.php", type: "post", dataType: "json", data: formdata, success: function (data) { switch (data.livre) { case 'empty_name':
{"livre":"empty_name"}
$.ajax({
url: "sent.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
switch (data.livre) {
case 'empty_name':
break;
}
});
但是当我尝试这段代码(我需要id)时,“空名称”的情况不起作用。选择的选项将是默认情况:
{"id":"","livre":"empty_name"}
$.ajax({
url: "sent.php",
type: "post",
dataType: "json",
data: formdata,
success: function (id, data) {
switch (data.livre) {
case 'empty_name':
break;
}
});
为什么??如何解决?谢谢如果我理解正确,上面的对象是JSON响应,我想你想要这个
{"id":"","livre":"empty_name"}
$.ajax({
url: "sent.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
var jsonId = data.id;
}
});
success
回调的data
参数包含您的响应(在本例中为JSON数据)。您可以在那里访问JSON内容。您只需要了解数据是如何返回的。在这种情况下,data
是包含所有字段的对象。您的成功回调将继续看起来像success:function(data)
您需要更改的代码在方法块本身中
$.ajax({
url: "sent.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
var id = data.id; //ID lives in data.
switch (data.livre) {
}
});
由于重新定义了函数,切换将失败,因为在示例中,posted
livre
将驻留在id
对象中,而不是数据
对象中。您确定没有JavaScript错误。您的开关语法看起来错误-差事})代码>安装Fiddler,它将大量帮助您调试问题。它显示了一个请求列表,包括您的ajax请求和您的响应。我认为他给了我们最少的代码,而不是错误的代码。尝试使用数据['livre']来代替。。。?我真的看不出问题所在,我只是希望…为什么回调函数中有'id'。data.id和data.livre是我需要的。谢谢你的帮助