2012-06-22 61 views
0

當我嘗試使用jQuery和AJAX在頁面之間進行通信時,我遇到了一個奇怪的錯誤。我根本無法獲得$ .post()函數的工作!

$(document).ready(function() { 
    $('#form').submit(function() { 
     $.post('test.php', {'name': 'joey', 'age': 12}, function(data){ 
        alert(data); 
     }); 

     return false; 
    }); 
});  

test.php的:

<php? 
    print_r($_POST); 
?> 

會發生什麼,當我做,這是我得到[對象的XMLDocument]警報,但如果我加上「文字」,因爲在後的最後一個參數,它會通過文件的完整php代碼發出警報。

我的問題是,當我打電話:

$.post('test.php', {'name': 'joey', 'age': 12}, function(data){ 
       $('#content').html(data); 
     }); 

這對螢火蟲帶來了一個錯誤。 '內容'是一個div。它在我做.html('test')時有效,但如果我做.html(數據)則不會。

任何想法我做錯了什麼?

編輯: 這裏是一個Dropbox的文件夾,我的整個項目(如3個文件),如果任何人都可以花3-4分鐘翻翻它,它會幫助我一噸!我一直呆在這裏幾天

https://www.dropbox.com/sh/ns73titud46kea7/aElaYx728G

+0

這可能是因爲'data'是無效的HTML。 –

+0

console.log您的數據,並檢查它是否是預期的。 –

+0

使用正確的PHP語法:

回答

2
<php? 
    print_r($_POST); 
?> 

應該讀

<?php 
    print_r($_POST); 
?> 

我假設PHP被解釋爲一個XML節點,但顯然它是無效的html

+0

這是一個錯字,當我輸入這個,我確實有正確的PHP標籤。對不起:/ – nickelxk5

+0

@ nickelxk5我跑了你的代碼你發佈,並在我沒有權限設置,但它沒有修改任何代碼時工作的錯誤。也許你應該再試一次。 – matt3141

1

應該沒關係,但是試試設置數據的類型爲'html'

$.post('test.php', {'name': 'joey', 'age': 12}, function(data){ 
    $('#content').html(data); 
}, 'html'); 

,或者嘗試使用​​

$('#content').load('test.php', {'name': 'joey', 'age': 12}); 

,你可能也想嘗試把12報價,只是規則的東西出來......

$('#content').load('test.php', {'name': 'joey', 'age': '12'}); 
0

我有點晚了回覆,但可能是你有無效的JSON?

{'name': 'joey', 'age': 12} 

應該

'{"name": "joey", "age": "12"}'