2014-02-21 33 views
0

我想實現下面的代碼,它應該創建一個文本字段和一個按鈕。然後我想用ajax調用來運行我的python腳本。但由於某些原因,Ajax調用失敗,下面的代碼:Jquery ajax調用只能在第一頁加載

<div id=myapp-content data-role="page"> 

    <form id="fome" method="post"> 
    <input type="text" name="gettable" value=""> 
    <button>SUBMIT</button> 
    </form> 

    <script> 
    database = 'localhost:28017'; 
    $('button').click(function(){ 

     var input_val_from_button = document.getElementsByName("gettable")[0].value; 
     console.log("Value Entered: " + input_val_from_button); 

     var results; 

     $.ajax({ 
      type: "GET", 

我還是設法得到阿賈克斯與輸入標籤替換按鈕標籤的工作,但該做的JavaScript運行AJAX代碼,我每次點擊的時間文本域。所以,而不是我有這個按鈕:

<input type="submit" name="command" value="SUBMIT"> 

</form> 
     <script> 
     database = 'localhost:28017'; 
     $('button').click(function(){ 

任何想法,我怎麼可以讓阿賈克斯工作?我需要它在點擊按鈕後運行。

這裏更多的是AJAX部分:

$.ajax({ 
     type: "GET", 
     url: "service/findRecord/"+input_val_from_button, 
     dataType: "json", 
     success: function(result) { 
      console.log(result); 
          //do some stuff... 
      }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      console.log("Ajax error"); 
      console.log("xhr status: "+xhr.status); 
      console.log(thrownError); 
     }, 
     complete: function(){console.log("Finish ajax");} 
    }); 

}) 
</script> 
+0

一些代碼被丟棄。顯示代碼中的所有行。 –

+0

我剛纔展示了相關的部分。但我可以包含更多 –

+0

@ user2099522,「ajax失敗」是什麼意思?它沒有執行,或拋出錯誤等? – Andrei

回答

0

貌似問題是按鈕點擊後提交表單。這是因爲<button>默認類型是submit,所以actualy您的標記等於這個:

<form id="fome" method="post"> 
    <input type="text" name="gettable" value=""> 
    <button type="submit">SUBMIT</button> 
</form> 

要解決這個問題簡單地防止hanler按鈕的默認行爲:

$('button').click(function (e){ 
    e.preventDefault(); 
    // rest of the code unchanged 
+0

你真棒的人。謝謝一堆 –