我的行为很奇怪,下面是对我页面的 jquery ajax 调用。
实际上,当我的页面正在加载时,它有两个下拉列表,它从下面调用两个下拉列表的 ajax 请求,因此两次调用同一页面。
//alert("Test");
var serviceReq = "http://localhost:2853/jsonproxy/jsonprxy.aspx";
$.ajax({
url: serviceReq,
//type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
jsonpCallback: "airportXML",
cache: true,
success: function(data, textStatus, jqXHR) {
var xmlDoc = $.parseXML(data);
//alert("data" + data);
x = xmlDoc.documentElement.childNodes;
for (i = 0; i < x.length; i++) {
document.write(x[i].nodeName);
document.write("<br />");
}
//alert(oData);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + "---" + errorThrown);
}
});
问题是它永远不会成功,所以我永远不会得到这个 //alert("data" + data); 它总是出错,说“parsererror:airportxml 不是函数”,我可以保证返回的响应是完美的 JSON。
如果我评论这一行 jsonpCallback: "airportXML", Jquery give default callback ie jquery12121212_2323232 并且一切正常,那么奇怪的行为就会出现,但是我不希望这样,因为我希望对此有缓存调用
更奇怪的事情是,如果我在此调用之前放置 alert (//alert("Test");) 并且一切对我来说都很完美,而无需评论 jsonpCallback: "airportXML" 并且我得到了成功警报。
我认为我的电话没有得到充分的时间来完成。
请推荐!!