0

助けが必要な問題がいくつかあります。まず、以下のリダイレクトが機能するようにします。ただし、ブラウザはリダイレクトしません。ここに私のjspの全内容があります

function testAjax(){
alert("In test Ajax");
$.ajax({
    type: "GET",
    url: "http://xyz.com/",
    data:   "param1=value1" +
        "&target=http://abc.com"
    ,
    success: function(data, textStatus, xhr) {
            alert("Success ");
            window.location.href = "http://abc.com";
    },
    error: function(data) {
        alert("Success");
    },
    async: false
});

}

パラメーターのターゲットは基本的に xyz.com に対するものであるため、そのサーバーがリダイレクトを行うと、ターゲットにあるものにリダイレクトされます。ただし、このjavascriptを(jspを押して)呼び出すと、ブラウザはリダイレクトしません。開発者ツールを使用して Firefox でデバッグを試みたところ、xyz への GET リクエストがロケーション ヘッダー付きの 302 を返していることがわかりました。

4

1 に答える 1

0

正常な応答が得られていますか? "成功" というアラートが表示された場合は、成功とエラーの両方があるため、実際には問題がない可能性があります。

success: function(data, textStatus, xhr) {
        alert("Success ");
        window.location.href = "http://example.com";
},
error: function(data) {
    alert("Success");
},

次のようなものをお勧めします。

error: function(jqXHR, textStatus, errorThrown) {
    alert("Fail " + textStatus + " - " + errorThrown);
},

あなたが本当に成功した場合、場所が変わると確信しているので、これはあなたを正しい方向に向けるかもしれません.

私の推測では、別のドメインに対して AJAX 呼び出しを行おうとしているのですが、これはブラウザーのセキュリティによってブロックされます。クロス ドメイン リクエストを行うには、JSONP または CORS を使用する必要があります。

于 2012-11-16T16:29:18.543 に答える