0

送信するとに行くフォームがありblah.phpます。問題は、blah.phpオフサイトから別のドメインに移動することです。JQueryはそれを見て、を与えます302 Object Moved error。そのため、フォームを使用JSONAJAXて送信する必要がありました。コメントの詳細は、以下のJqueryコード内にあります。

フローはボタンをクリックし、サーバー側を確認し、応答がない場合は'ok'ステータスdivに応答を出力し、そのページのサーバー側をすべて停止する必要があります。応答があった場合'ok'は、フォームを続行します

私のコードのクイックモックアップ

<form id="ppform" method="post" action"blah.php">
<input id="someid" type="text" />
<button id="sendbutton">Send</button>
<div id="status"></div>
</form>

$(document).ready(function(){
    $(document).on('click', '#sendbutton', function(){
         $('#status').empty();
         $.ajax({
             type: "POST",
             url: "blah.php",
             data: reqBody,
             dataType: "json",
             success:function(data,textStatus){ 
                  // here I want the div to return data if the response isn't 'ok'
                  if(data!='ok'){
                      $('#status').append(data);
                  }else{
                      // response was 'ok' so empty div, 
                      // show loading gif and submit the form
                      $('#status').empty().html('<div id="proc">Processing</div><img src="loading.gif" />');
                      if (data.redirect){
                         window.location.href = data.redirect;
                      } else {
                         $("#ppform").replaceWith(data.form);
                      }
                  }
               }
         });
    }); 
});
4

2 に答える 2

0

別のドメインで ajax リクエストを送信できないのは、ブラウザのセキュリティ上の問題だと思います。

于 2012-05-24T16:14:51.357 に答える
0

jQuery を使用して ajax リクエストを実行している場合は、データ型を JSONP に変更してクロス ドメイン json 呼び出しを実行できます。

詳細はこちら:

jQuery AJAX クロスドメイン

于 2012-05-24T16:19:07.213 に答える