我的代码效果很好:
{"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;
}
});
为什么呢?怎么解决?感谢
答案 0 :(得分:3)
如果我理解正确的对象是JSON响应,我想你想要这个......
{"id":"","livre":"empty_name"}
$.ajax({
url: "sent.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
var jsonId = data.id;
}
});
data
回调的success
参数包含您的响应(在本例中为JSON数据)。您可以在那里访问JSON内容。
答案 1 :(得分:1)
您只需要了解数据的返回方式。在这种情况下,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) {
}
});
由于您重新定义了该功能,因此交换机将失败,因为在livre
对象中,id
对象中的data
和<{1}}对象中的不是