【发布时间】:2016-02-18 20:12:09
【问题描述】:
我是 JavaScript 的初学者,在解析 JSON 和显示我想要的数据时遇到了一些问题。 当我在浏览器中手动运行 URL 时,我得到了正确的结果。
JavaScript 代码如下所示:
request = "URL"
function CallRestService(request, callback) {
$.ajax({
url: request,
dataType: "jsonp",
jsonp: "jsonp",
success: function (r) {
callback(r);
var results = data.resourceSets;
console.log(r.message);
alert(r.statusText);
},
error: function (e) {
alert("Error" + JSON.stringify(e));
console.log("Error" + e.message);
}
});
}
当我运行此代码时,我在控制台中没有收到任何错误,但我仍然通过错误函数收到警报:“status”:200,“statusText”:“OK” 为什么我会得到这个?
这就是为什么我无法显示我的数据,我做错了什么?
编辑
所以我能够从中制作出一个工作代码,但我仍然会同时收到来自 SUCCESS 和 ERROR 的消息,并且我还可以取回我的数据?!
<script>
var request = "URL";
function CallRestService(request, callback) {
$.ajax({
url: request,
dataType: "jsonp",
jsonp: "jsonp",
success: function (r) {
callback(r);
console.log("working" + r.message);
alert(r.statusText);
},
error: function (e) {
alert("Error" + e.message + JSON.stringify(e));
console.log("message: " + e.message);
console.log("readyState: " + e.readyState);
console.log("responseText: "+ e.responseText);
console.log("status: " + e.status);
}
});
}
CallRestService(request, GeocodeCallback);
function GeocodeCallback(results) {
console.log(results.resourceSets[0].resources[0].travelDurationTraffic);
document.getElementById("sec").innerHTML=Math.round((parseFloat(results.resourceSets[0].resources[0].travelDurationTraffic) / 60));
}
</script>
【问题讨论】:
-
你确定你从错误函数中得到那个警报吗?您也在成功函数中创建警报。
-
是的,我删除了成功线只是为了确定,它 100% 来自错误函数
标签: javascript bing-maps