所以我的AJAX请求有一个特殊的问题。当我发出请求时,我可以单击网络选项卡并查看响应,这是有效的JSON。但是当我尝试在我的ajax调用的成功函数中使用该数据时,它返回undefined。我将发布一些我的控制台和网络选项卡以及一些代码的图片。
最后我的代码:
getWebinars: function (from, to, credential) {
$.ajax({
url: 'endpoint',
data: {
from: from,
to: to,
credential: credential
},
success: function (reply, status, xhr) {
console.log(reply);
var html = '<select class="webinars" multiple>';
for(var webinar_id in reply.list) {
html+= '<option value="' + webinar_id + '">' + reply.list[webinar_id] + '</option>';
}
html+= '</select>';
$('.modal-body').append(html);
}
});
}
我无法弄清楚我的生活在这里是什么问题。我已经尝试了我能想到的一切。记录xhr,记录responseJSON,将数据类型设置为json。这是一个简单的获取请求,它正在工作,但控制台似乎并不这么认为。任何帮助表示赞赏。
答案 0 :(得分:1)
答案 1 :(得分:0)
你的根本原因是你没有提到dataType:&#39; JSON&#39;作为您的AJAX请求的参数。 因此有两种方法可以解决您的问题。 1.添加dataType参数。 2.使用jQuery.parseJSON()解析返回的结果。
解决方案1
url: 'endpoint',
data: {
from: from,
to: to,
credential: credential
},
dataType:'text json'
&#13;
解决方案2
var obj = jQuery.parseJSON(reply);
alert( obj.list);
&#13;