我正在尝试获取两个不同的资源,它们位于相同的URI中,但具有不同的数据类型。
$.ajax({
dataType: "application/json",
url: "http://www.myApp.com/resource",
success: f
});
$.ajax({
dataType: "text/html",
url: "http://www.myApp.com/resource",
success: f
});
但第二个电话永远不会离开浏览器。第一次调用的结果被缓存并返回到第二次调用。 但它有错误的数据类型! json vs html。 我不知道它是由jquery还是浏览器(chrome)缓存的?
有没有办法让这项工作?我需要资源的两种表示。 我可以在请求中将缓存设置为false,但之后我将失去缓存的好处。
或者我是否必须为不同的表示定义两个不同的资源URI?
答案 0 :(得分:0)
在dataType中,将"application/json"
替换为"json"
,将"text/html"
替换为"html"
。
jQuery recognizes仅将以下内容作为有效输入:
或者以上的一些空格分隔的组合。任何其他值都会产生Accept
标题为*/*
的请求。
此外,您可能希望替换success
回调,转而使用$.ajax({...}).done(callback)
。回调参数在1.8中已弃用。