新しいページに移動するためにAJAXポストリクエストからコールバックを使用していますが、Internet Explorerでは機能しません。次のように私のコードは次のとおりです。IEとwindow.location.hrefとの互換性がありません
$.ajax({
type: "POST",
url: phpUrl,
data: data,
async: false,
success: function() {
if (navigator.appName == 'Microsoft Internet Explorer'){ window.location.href("/step2.php")}
else{ window.location.href = "/step2.php"}
},
dataType:'json'
});
これはFF /サファリ/クロームで正常に動作しますが、私はIE上でそれをテストするとき、それは動作しません。新しいページにリダイレクトするより良い方法はありますか? POST
リクエストが完了する前にページが変更されるだけで、コールバックを使用しなかった場合、Chrome/Safariにデータがロードされないため、async:false
を使用しています。
strange。 'location.assign("/step2.php ");'はIEでは動作しませんが、FF/Safari/Chromeで動作します。関数として使用する私の最初の試みは、私が読んだドキュメント(@Hexxagonalも参照している)に基づいていました。 – djq
私は 'async'についてあなたの意見を取ります - 私はそれを削除しました。アドバイスをいただきありがとうございます。 – djq
_Never_は強い言葉です。同期Ajaxには、時には必要かつ有用です。しかし、あなたのポイントはよく取られます。また、ブロックが必要な場合は、開発者は何かが起こっていることを目に見えるように注意する必要があります。つまり、ajaxローダーgifです。 – peter