Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 浏览器缓存具有不同数据类型的请求_Jquery_Json_Http_Caching - Fatal编程技术网

Jquery 浏览器缓存具有不同数据类型的请求

Jquery 浏览器缓存具有不同数据类型的请求,jquery,json,http,caching,Jquery,Json,Http,Caching,我试图获取两个不同的资源,它们位于同一个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 }); 但第二次呼叫从未离开浏览器。第一次调用的结果被缓

我试图获取两个不同的资源,它们位于同一个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吗?

在数据类型中,将
“application/json”
替换为
“json”
,将
“text/html”
替换为
“html”
。 仅以下内容作为有效输入:

  • xml
  • json
  • jsonp
  • html
  • 正文
  • 剧本
或者是上述部分的空间分隔组合。任何其他值都将导致请求带有
*/*
Accept

另外,您可能希望替换
成功
回调,而代之以
$.ajax({…}).done(回调)
。回调参数在1.8中被弃用