2010-06-08 168 views
0

這是我的javascript:AJAX使用jQuery不返回數據

$(document).ready(function() { 
    $('#like').bind('keydown', function(e) { 
     if(e.keyCode == 13) { 
      var likeMsg = $('#like').val(); 
      if(likeMsg) { 
       // Send the AJAX request to like.php 
       $.ajax({ 
        url: 'like.php', 
        success: function(data) { 
         alert('Content: ' + data); 
        } 
       }); 
      } 
     } 
    }); 
}); 

這是我like.php文件:

<?php 

echo "It works! :)"; 

?> 

當我按下了#like輸入輸入,似乎AJAX請求發送和一個警告框出現說:Content:,但有從like.php不發送數據的回...

如果文件存在,我已經確認並如果它在同一個目錄中,那麼它就是這樣,所以我非常無能。

有沒有人知道這裏會出現什麼問題?乾杯。

回答

0

把它弄出來了。在我的標記我有:

<form action=""> 
    <p><input type="text" id="like" class="like" /></p> 
</form> 

所以頁面,當我按在文本框中輸入這是我在我的Javascript代碼尋找令人耳目一新。我現在刪除了<form>元素和所有作品。

愚蠢的錯誤,應該早日注意到它。謝謝:)

1

一切似乎都很好,但debugging the ajax request可能會導致更好的位置。

+0

根據Firebug的AJAX請求從未實際發送。至少,它沒有顯示出來,所以沒有什麼可以真正調試的。 – 2010-06-08 20:51:59

+0

@James P:然後你必須調試你的代碼,可能存在一些javascript錯誤,檢查螢火蟲或其他。 – Sarfraz 2010-06-08 21:11:41

0

請參閱該文檔:

http://api.jquery.com/jQuery.ajax/

如果沒有提供dataType,它會嘗試中進行選擇: 「XML,JSON,腳本或HTML」。

嘗試增加dataType值爲「文」:

$.ajax({ 
     url: 'like.php', 
     dataType: 'text', 
     success: function(data) { 
     alert('Content: ' + data); 
     }) 
+0

不,不適用於文本數據類型。可能是一個好主意,儘管如此感謝:P – 2010-06-08 20:49:58

0

其實,貌似所有你想要的是管出來放在一個文件的某處。看看$ .load或$ .get,兩者都更符合你在找什麼,我想。

+0

雖然我真的想將一些數據發送到like.php,所以我不認爲裝載或獲取會非常適合我的需求? – 2010-06-08 20:53:17