2015-10-10 38 views
-1

我想運行一個ajax腳本作爲一個livesearch,但腳本甚至沒有發佈我插入的任何值。ajax腳本不發佈任何值

有誰知道我犯了什麼錯誤。請拼命地需要一些幫助來解決這個問題。

的Html -

 <form method="post" id="searchform"> 
      <input type="text" size="30"> 
      <div id="livesearch"></div> 
     </form> 

腳本 -

<script> 
$(document).ready(function() { 
    $(".contents-value").keyup(function(e) { 
    var el = e.target; 
    var data = {}; 
    data['livesearch'] = el.value;  
    var url = '/home'; 

    // Submit data via AJAX§ 
    $.ajax({ 
     url : url, 
     type: 'post', 
     data : data, 
     success: function (data) { 

    } 
}); 
return false; 
}); 
}); 
</script> 

非常感謝先進。

+0

開放開發控制檯,看看發生了什麼事情。 –

+0

@u_mulder我檢查了它,並且沒有帖子值,當我插入任何數據時 –

+0

它是什麼 - 'change('livesearch''?不應該是'change(function(){}'? –

回答

2

這有一些問題。

  1. 你在input元素中聲明瞭一個keyup事件,它使用名稱contents-value()調用函數。這在代碼中沒有定義。

  2. 你發送的數據是錯誤的,在「el」var中,你得到了輸入(這很好)。但是,在這條線:

    data['livesearch'] = e.valueOf().val; 
    
    e.valueOf().val is undefined. 
    

而是做到這一點:

data['livesearch'] = el.value; 

最後,改變對事件KEYUP:

$(document).ready(function() { 
     $(".contents-value").keyup(function(e) { 
     var el = e.target; 
     var data = {}; 
     data['livesearch'] = el.value;  
     var url = '/home'; 

     // Submit data via AJAX§ 
     $.ajax({ 
      url : url, 
      type: 'post', 
      data : data, 
      success: function (data) { 

     } 
    }); 
    return false; 
    }); 
    }); 
+0

@安德斯非常感謝您糾正我,但它仍然無法正常工作,因爲當我在文本框中插入東西時仍然沒有發佈任何值 –

+0

@ChristoferHansen您的後端設置如何?另外,請嘗試在您的ajax調用中執行以下操作: 成功:function(data){ console。日誌(數據); } 告訴我它是怎麼回事 –