$ .ajax中的其他参数错误

时间:2014-04-14 18:49:13

标签: javascript jquery ajax google-chrome get

我正在尝试调用Web服务来获取一些数据。我需要在GET方法中传递此URL:

http://localhost/ecosat/ws/api.php?t=vw_motorista

但是,当我查看Chrome开发者工具时,链接是:

http://localhost/ecosat/ws/api.php?t=vw_motorista&_=1397500899753

我没有传递这个参数:&_=1397500899753

使用此附加参数,我收到500错误。我无法更改Web服务来处理此问题。

发生了什么事? Chrome是否正在更改我的代码?

这是我的Ajax

function get(pURL, pToken) {
    var ret = null;

    $.ajax({
        type: "GET",
        dataType: "json",
        async: false,
        timeout: globalTimeOut,
        cache: false,
        url: pURL,
        headers: {"Token": pToken},
        error: function(request, status, error) {
            ret = null;
        },
        success: function(data) {
            ret = data;
        }
    });
    return ret;
}

1 个答案:

答案 0 :(得分:1)

您可能在ajax查询中使用cache: false设置。它会添加一个带有时间戳值的_参数,以确保您的ajax调用不会被浏览器缓存。

如果您不需要,请删除此设置。但是如果你需要确保禁用缓存,你可以尝试两件事:

为查询添加带有时间戳的自己的参数,例如{ts: new Date.getTime()}

如果可能,将标头添加到Web服务器响应中。 See this question