1

同じURIにあるが、データ型が異なる2つの異なるリソースを取得しようとしています。

$.ajax({
  dataType: "application/json",
  url: "http://www.myApp.com/resource",
  success: f
});

$.ajax({
  dataType: "text/html",
  url: "http://www.myApp.com/resource",
  success: f
});

ただし、2番目の呼び出しがブラウザを離れることはありません。最初の呼び出しの結果はキャッシュされ、2番目の呼び出しに返されます。しかし、それは間違ったデータ型を持っています!jsonvshtml。jqueryとブラウザ(chrome)のどちらでキャッシュされているのかわかりませんか?

これを機能させる方法はありますか?リソースの両方の表現が必要です。リクエストでキャッシュをfalseに設定することはできますが、そうするとキャッシュのメリットが失われます。

または、異なる表現に対して2つの異なるリソースURIを定義する必要がありますか?

4

1 に答える 1

0

dataType で、"application/json""json""text/html"置き換え"html"ます。 jQueryは、次のもののみを有効な入力として認識します。

  • xml
  • json
  • jsonp
  • html
  • 文章
  • 脚本

または、上記のいくつかのスペース区切りの組み合わせ。その他の値を指定すると、Acceptヘッダーが*/*.

また、successコールバックを に置き換えることもできます$.ajax({...}).done(callback)。callback パラメータは 1.8 で廃止されました。

于 2013-02-19T23:24:55.757 に答える