2010-09-18 61 views
0

我正在爲一個簡單的留言框工作一個腳本。我以前使用$ .get()沒有任何問題。然後我切換到$ .post(),所以我可以將西里爾字符傳遞給php。Jquery.post()發送變量,但PHP顯示它們爲空?

我將所有內容都切換到javascript和php文件中。 Firebug顯示變量不是空的並被髮送,它們是來自php腳本的標準響應,但不是正確的。我試着打印整個$ _POST變量作用域,但只是給出一個空數組。我究竟做錯了什麼?

$.post('file.php', { sc_com:'submit', name:userboxVal, color:swatch, msg:escape(msgboxVal) }, function(data) { 
    if(data.error) { 
     msgbox.focus(); 
     shoutError(data.error); 
    } else if(data.status=='posted') { 
     msgbox.val('').focus(); 
     refreshShouts(opts,'ajax'); 
    } 
}, 'json'); 

PHP

$sc_com = strip_tags($_POST['sc_com']); // Empty 
print_r($_POST); // returns Array() 

不知道你爲什麼會需要的PHP代碼呢?整個事情超過500線,但這是最重要的部分...

+1

發佈相關的PHP代碼。 – 2010-09-18 22:30:12

+1

當您僅發送非西里爾字符時,問題是否也會發生?你還可以發佈你在Firebug中發送的數據嗎? – Archimedix 2010-09-18 22:32:17

+0

同意馬修:這並沒有告訴我們整個故事。如果你的PHP代碼超過'print_r($ _ POST)',那麼問題就出現在那裏,因爲jQuery看起來沒問題。 – JAL 2010-09-18 22:32:34

回答