如何去掉 jQuery 添加到 AJAX 请求中的下划线查询参数?

问题描述 投票:0回答:3

我正在使用 jQuery 并运行这个 Javascript:

$.ajax ({
    url: 'http://1.1.1.1/cgi-bin/script.cgi?scm:scm/data/system_names',
    context: $("#elem"),
    crossDomain: true,
    dataType: "xml",
    success: function (data) {
        $xmlDoc = parseXML (data);
        $(this).html ($xmlDoc.find ("elem").text ());
    }
});

当请求运行时,我可以看到请求了此 URL:

http://1.1.1.1/cgi-bin/script.cgi?scm:scm/data/system_names&_=1306868212809

如何去掉

&_=1306868212809
部分?它扰乱了我的要求。我无法控制 CGI 脚本,所以我必须按照你看到的方式来做。

jquery ajax caching
3个回答
3
投票

尝试设置

cache
参数:

cache: true

1
投票

您需要将

cache
键设置为
true

$.ajax ({
  url: 'http://1.1.1.1/cgi-bin/script.cgi?scm:scm/data/system_names',
  context: $("#elem"),
  crossDomain: true,
  dataType: "xml",
  cache: true,
  success: function (data) {
    $xmlDoc = parseXML (data);
    $(this).html ($xmlDoc.find ("elem").text ());
  }
});

0
投票

您不应该将 URL 用字符串引号括起来吗?

$.ajax ({
    url: 'http://1.1.1.1/cgi-bin/script.cgi?scm:scm/data/system_names',
    context: $("#elem"),
    crossDomain: true,
    dataType: "xml",
    success: function (data) {
        $xmlDoc = parseXML (data);
        $(this).html ($xmlDoc.find ("elem").text ());
    }
});

来自他们的文档 - http://api.jquery.com/jQuery.ajax/

Url
属性应该是
string

© www.soinside.com 2019 - 2024. All rights reserved.