在jQuery jsonp ajax请求的查询字符串中有什么下划线?

时间:2012-10-03 13:36:21

标签: jquery jsonp

当我从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请求,只有在客户端发生异常时才会出现错误,例如:响应的格式化存在超时或问题(即不使用回调),为了克服这个问题,我总是在处理程序中记录并吞下异常,但是给出一个标准的响应对象(所有响应都由它组成)具有异常的state属性和message属性。

1 个答案:

答案 0 :(得分:32)

您所引用的数字是请求的日期时间戳。获取该号码并使用您的浏览器的JavaScript控制台并输入:alert(new Date(/*insert number here*/))

您将收到包含日期/时间的提醒。

编辑:

以下是来自jQuery.ajax doc的关于ajax请求的摘录:

  

<强>缓存
  默认值:true,false表示dataType&#39;脚本&#39;和&#39; jsonp&#39;
  如果设置为false,它将强制浏览器不缓存请求的页面。   将缓存设置为false还会附加查询字符串参数"_=[TIMESTAMP]",   到URL。