jQuery 1.8.3 で文書化されていない重大な変更を見つけたようです。
ページを jQuery 1.7 から 1.8.3 にアップグレードしているときに、「HEAD」タイプの ajax 呼び出しの 1 つが機能しなくなりました。
デバッグ時に成功コールバックが発生しますが、Google CDN を使用して jQuery 1.8.3 でページを実行すると、パラメーター「xhr」が null になります。
1.7 に戻すと、xhr オブジェクトは完全に機能し、null ではなくなります。
1.8.* の破壊的な変更について Google と jQuery のサイトを精査しましたが、適切なものは何も見つかりません。使用する必要がある別のライブラリには最新の jQuery が必要なため、これをアップグレードする必要があるため、現在、岩と困難な場所の間にいます。
コードは次のとおりです。
$.ajax({
type: "HEAD",
async: false,
cache: false,
url: pth + b,
error: function (xhr) {
// always succeeds
},
success: function (xhr) {
// in jQuery 1.7.0 ONLY xhr is a non-null object - 1.8.3/1.9.0 receive a null object as a parameter
c = xhr.getResponseHeader('x-amz-meta-mix');
if (c == null) c = b;
}
});
ありがとう!
PS- Fiddler では応答が常に 200 であり、探している情報が常に存在することを追加する必要があります。問題は、1.8.3 または 1.9.0 を優先して jQuery 1.7.0 を使用しない場合、xhr オブジェクトが null になることです。