2011-01-25 8 views
-1

を提出する変更私はasp.net MVCページでjQueryのAJAXリクエストを作っています:前のAJAXリクエストが次のフォームのポストURLが

$.ajax({ 
      type: "POST", 
      url: "/Home/Go", 
      data: dataObj, 
      success: function (data) { 
       // update html here 
       } 
      } 
     }); 

この呼び出しは、フォームや他の要素を持っているページ内にありそれは他のURLに提出します( "/ Home/Do"と言うことができます)。今すぐajax呼び出しが返された後、他の要素をクリックすると、フォームはurl2の代わりにurl1に送信されます。

注意ajax呼び出しが行われるイベントハンドラをクリックすると、"return false"文が追加されました。

$('#myDialog').dialog({ buttons: 
      [ 
       { 
        text: 'Next', 
        click: function() { HandleNext(); return false; } 
       } 
      ], 
      title: 'Dialog-Title' 
     }); 



function HandleNext() 
{ 

    $.ajax({ 
       type: "POST", 
       url: "/Home/Go", 
       data: dataObj, 
       success: function (data) { 
        // update html here 
        } 
       } 
      }); 

return false; 
} 

誰でも同様の問題に直面した。しかし、たとえこれはAJAX呼び出しがjQueryのダイアログ内で行われている

を助けていませんか?任意のソリューションですか?クリックハンドラ内

+0

この 'url1'変数はどこから来ますか?フォームのビューはどのように見えますか?詳細をご記入ください。 –

+0

url1はJavaScript関数で設定され、url2は有効なURLです。私はこれが私の質問にどのように価値を与えるのか見ていないのですか?私はurl1を "/ Home/Go"のようなurlと "Home/Do"のurl2に置き換えることもできます。とにかくそれを編集させてください。 – Ngm

答えて

0

return falseはALLのAjaxリクエストのため必須です。それ以外の場合、WebブラウザはURLを訪問します。言い換えれば、ajaxリクエストが最初に行われた後、通常のリクエストが行われます。

URLを自動的に他のURLに置き換えることはできません。あなたはどちらかあなたのJavaScriptコードで、またはアクション/ビューでそれを行う。

+0

上記のコードに "return false"を追加するべき箇所を教えてください。 – Ngm

+0

上記のコードはあなたが表示していないものによって呼び出されます。そのコードを表示します。 – jgauffin

+0

質問の編集を完了しましたが、私は図示のように「偽を返す」ようにしました。 – Ngm

関連する問題