我想访问url并获取JSON响应,但我无法访问JSON数据,显示Uncaught SyntaxError:意外令牌:
我尝试以下代码
$(window).load(function () {
retrivefun();
});
function retrivefun() {
$.ajax({
url: 'http://api.railwayapi.com/live/train/56700/doj/20150908/apikey/mdqjs5581"',
data: {
format: 'json'
},
error: function () {
alert("Not Loaded");
},
dataType: 'jsonp',
success: function (data) {
alert("Successfully Loaded");
debugger;
console.log(data)
},
type: 'POST'
});
}
<script src="http://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript"></script>
答案 0 :(得分:0)
请尝试下面的代码段。我更新了你的AJAX呼叫错误处理部分。
$(window).load(function () {
retrivefun();
});
function retrivefun() {
$.ajax({
url: 'http://api.railwayapi.com/live/train/56700/doj/20150908/apikey/mdqjs5581',
data: {
format: 'json'
},
error: function(xhr, status, error) {
alert("response : "+xhr.responseText+"\n status: "+status+"\n error: "+error);
},
dataType: 'jsonp',
success: function (data) {
alert("Successfully Loaded");
debugger;
console.log(data)
},
type: 'POST'
});
}
&#13;
<script src="http://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript"></script>
&#13;
每当您运行它时,请尝试弹出FireFox或Chrome浏览器的控制台和网络标签。好像你的API调用没有被正确授权加上从服务器发送的错误消息不正确JSON,因此AJAX调用正在给出一个parsererror
作为状态(请参阅屏幕截图)。
<强>更新强>
在URL之前如下
url: 'http://api.railwayapi.com/live/train/56700/doj/20150908/apikey/mdqjs5581
那是什么给了那个
身份验证错误
无论如何,如果您可以在浏览器的网络选项卡中查看响应,它会按如下方式获取响应:
它仍然表示它无法处理响应。可能是服务器本身的错误。
提示:使用JSONLint
等JSON验证程序检查生成的RESPONSE希望这个答案对其他人的OP有所帮助! 干杯!