当我从jsonp请求(下面的客户端代码)查看查询字符串时,有两个对象,一个需要在响应中使用的"回调"字符串(所以客户端代码指向成功处理程序)和一个带有_这个下划线的关键是什么?我在任何文档中都找不到任何引用,它似乎是某种形式的.
我虽然它可能用于指向错误处理程序(在其上,与回调结合,或替换回调字符串中的下划线后面的数字),但它似乎不是.
url = 'http://localhost:11767/Handlers/MyHandler.ashx';
Run Code Online (Sandbox Code Playgroud)
...
$.ajax({
url: url,
dataType: "jsonp",
error: function (jqXHR, textStatus, errorThrown) {
//...
},
success : function(d) {
//...
}
});
Run Code Online (Sandbox Code Playgroud)
要么
$.getJSON(url + "?callback=?", function(d) {
}).success(function(d) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
//...
}).complete(function(d) {
//...
});
Run Code Online (Sandbox Code Playgroud)
旁注以防万一这有助于读取此内容:因为这是一个jsonp请求,只有在客户端发生异常时才会出现错误,例如,存在超时或响应格式化问题(即不使用回调),为了克服这个问题,我总是在处理程序中记录并吞下异常,但是给出一个标准响应对象(所有响应都由其构成),该对象具有异常的state属性和message属性.
Jus*_*elf 32
您引用的数字是请求的日期时间戳.抓取数字并使用浏览器的JavaScript控制台并键入:alert(new Date(/*insert number here*/))
您将收到包含日期/时间的提醒.
编辑:
这是jQuery.ajax doc关于ajax请求的片段:
cache
默认值:true,false表示dataType'script'和'jsonp'
如果设置为false,它将强制浏览器不缓存请求的页面.将cache设置为false还会将查询字符串参数附加"_=[TIMESTAMP]"到URL.