2011-09-11 20 views
1

私はコードをデバッグするためにFirebugを使用しました。 「ネット」パネルでは、私は.ajax()の発砲は全く見られません。 (送信リクエストURLは表示されませんでした)jQuery.ajax()が発砲しない

私のコードには何が問題なのですか?

編集後:$(document).ready()を追加した後。私のコードには、すべて正常に動作します。なぜ$(document).ready()が必要なのですか? ボタンをクリックすると、ドキュメントが確実に準備されていると思いました。 「return false;」を追加する必要があります。あなたはfalseを返す必要があり、同様

function doSubmit() { 
     alert('button is clicked.'); 

     $.ajax({ 
      type: 'Post', 
      url: "http://mysite.com/list/json", 
      dataType: "json", 
      context: [], 
      success: function(data){ 
       alert('got data'); 
      } 
     }); 
}  
<form name="my_form" id="myform"> 
    <div class="mydiv"> 
     <input class="button" type="submit" value="Save" onClick="doSubmit();"> 
    </div> 
</form> 
+0

を提出するあなたの代わりにコンソールをチェックすることを意味しましたか? –

+0

メモと同様に、あなたは文脈を間違って使用しています。コンテキストとは、ハンドラ内に「this」があるはずのものです。代わりにデータを使用してみてください。 – tjameson

+0

jqueryライブラリがまだロードされていない可能性があるため、document.readyが必要です。スクリプトが実行されるまでにDOMが埋め込まれない可能性があり、開始時にセレクタが実行されている場合、要素が不足する可能性があるため、すべてを.ready関数に入れることも良い考えです。 –

答えて

4

、それ以外の場合は、ちょうどそのフォームに

function doSubmit() { 
     alert('button is clicked.'); 

     $.ajax({ 
      type: 'Post', 
      url: "http://mysite.com/list/json", 
      dataType: "json", 
      context: [], 
      success: function(data){ 
       alert('got data'); 
      } 
     }); 
     return false; 
}  
+0

私はfalseを返す必要がありますか?私は条件付きチェックをしたい、返されたデータが良い場合は、フォームを送信し、そうでなければ "false false"を返します。 –

+0

@Shadow_boi:$( "form")を追加できます。成功の応答では、しかしあなたはあなたのajaxコマンドの後に返すfalseを含める必要もあります。 – genesis

+0

それを入手しました。ありがとうございます –

1
$('#myform').submit(function() { 
    $.ajax({ 
     // ... 
    }); 
}); 
関連する問題