use*_*110 15 javascript api jquery json
$.ajax({
url: 'http://intern-dev01:50231/api/language',
type: 'GET',
dataType: 'json',
success: function() {
console.log('It Works!');
},
error: function (request,status, error) {
console.log(error);
alert(status);
}
});
Run Code Online (Sandbox Code Playgroud)
为什么这个ajax调用不起作用?如果我在浏览器中调用它可以正常工作:/.
这就是小提琴手的回报:
HTTP/1.1 200 OK
Content-Length: 122
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 26 Apr 2013 06:56:40 GMT
[{"LanguageId":1,"LanguageName":"Dansk"},{"LanguageId":2,"LanguageName":"Tysk"},{"LanguageId":3,"LanguageName":"Engelsk"}]
Run Code Online (Sandbox Code Playgroud)
Bha*_*iya 20
如果有效,你必须检查ajax响应.在ajax中指定时:
dataType: 'json',
Run Code Online (Sandbox Code Playgroud)
如果响应无法解析为JSON,jQuery将触发错误事件,即使服务器返回200 OK.检查从服务器返回的数据,并确保它是有效的JSON(尝试JSONLint服务).
如果返回的数据不是JSON,或者它有语法错误,那么请在服务器端代码中修复它们.您可以从服务器端脚本返回{}.
也试试这个.
$.ajax({
url: 'http://intern-dev01:50231/api/language',
type: 'GET',
cache: false,
complete: function (xhr, status) {
if (status === 'error' || !xhr.responseText) {
console.log(error);
alert(status);
}
else {
console.log('It Works!');.
}
}
});
Run Code Online (Sandbox Code Playgroud)
小智 8
由于状态显示200 OK,因此存在解析错误.问题出在数据类型:json.要测试这一点,删除该行,它应该工作.为了解决这个问题,您可以将其更改为数据类型:text.对于类似的问题,请参阅此链接