jQuery Ajax缓存

6

我使用jQuery进行一些Ajax调用,以获取文件,如下所示:

$.ajax({
        url: "/resx.mvc",
        data: {
            virtualPath: options.virtualPath,
            keys: options.keys,
            global: options.global
        },
        cache: true,
        success: function (values) {
            $.extend(assignTo, values);
        },
        dataType: "JSON",
        traditional: true
    });

当我在Fiddler中查看请求时,我发现这两个头部被发送,并使我的ASP.NET响应中返回了一个过期标头-1。
Pragma: no-cache
Cache-Control: no-cache

我该如何告诉jQuery不要发出no-cache请求?

1个回答

6

beforeSend接受一个ajax对象(XmlHttpRequest对象),您可以使用它来操作请求头。以下是使用回调中返回的ajax对象设置请求头的示例:

$.ajax({
            type:"POST",
            beforeSend: function (request)
            {
                request.setRequestHeader("Authority", authorizationToken);
            },
            url: "entities",
            data: "json=" + escape(JSON.stringify(createRequestObject)),
            processData: false,
            success: function(msg) {
                $("#results").append("The result =" + StringifyPretty(msg));
            }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接