2

kendoPanelBar からロードされたさまざまな KendoUI グリッドを使用する localhost で実行されているサイトがあります。OSX 10.9 (Mavericks) に更新するまで、すべて正常に動作していました。$.post jquery 呼び出しを使用してグリッドを 1 回ロードできるようになりましたが、2 回目にグリッドをロードしようとすると、412 (Precondition Failed) が返されます。グリッドを再度ロードできるようにするには、キャッシュを空にする必要があります。最も奇妙な点は、これが Safari 7.0 でのみ発生していることです。Firefox 24.0 は正常に動作しており、エラーなしでグリッドをロードできます。

これは、アップロードのために変更された可能性のある私の Web サーバー構成の問題ですか、それとも...これは単に新しい Safari の問題にローカライズされているのでしょうか、それとも... Safari のコードに欠けている可能性があるものがありますか?厳密にチェックされていますか?

4

1 に答える 1

2

いくつかの調査を行った後、この修正を提案するクロスドメインローディングに関連する情報を見つけましたが、クロスドメイン呼び出しを行っていないため、これが実際に機能した理由はわかりません. 誰かがそれを説明できれば、それは素晴らしいことです。

これは、$.post 呼び出しを変更して、$.ajax を GET タイプおよび async を false として使用するように変更することによる修正です。

元のコードは次のとおりです。

$.post( "myContent.html" )
    .done(function( data ) {
    $("#main_content").html(data);
});

更新されたコードは次のとおりです。

$.ajax({
    type: "GET",
    url: "myContent.html",
    success: function(data) {
        $("#main_content").html(data);
    },
    async: false
});
于 2013-10-30T21:19:56.120 に答える