当我查看来自 jsonp 请求(下面的客户端代码)的查询字符串时,有 2 个对象,一个需要在响应中使用的“回调”字符串(因此客户端代码指向成功处理程序)和一个带有关键_
...这个下划线是干什么用的?我在任何文档中都找不到对此的任何引用,它似乎是某种类型的。
我认为它可能用于指向错误处理程序(在其上,与回调结合,或替换回调字符串中下划线后的数字),但它似乎不是。
url = 'http://localhost:11767/Handlers/MyHandler.ashx';
...
$.ajax({
url: url,
dataType: "jsonp",
error: function (jqXHR, textStatus, errorThrown) {
//...
},
success : function(d) {
//...
}
});
或者
$.getJSON(url + "?callback=?", function(d) {
}).success(function(d) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
//...
}).complete(function(d) {
//...
});
旁注以防万一这有助于任何人阅读:因为这是一个 jsonp 请求,只有在客户端发生异常时才会触发错误,例如超时或响应格式有问题(即不使用回调),为了克服这个问题,我总是在处理程序中记录并吞下异常,但给出一个标准的响应对象(所有响应都由它组成),它具有异常的状态属性和消息属性。