2010-02-07 44 views
0

我提出,發送textarea的內容到PHP頁面獲取Ajax請求一個小腳本:發送 n使用jQuery阿賈克斯

$.get('./data/pages/admin/actions.php?savepost=1','&post_id=' + $(box).attr('id') + '&text=' + new_text,'text'); 

NEW_TEXT得到textarea的內容與VAL();

當我從php保存文本時,它沒有\ n字符。 Some1可以解決我的問題?謝謝

回答

3

根本沒有對數據進行編碼,所以很多事情都會爆炸(百分號,&符號...)。無論是使用上的每個位或encodeURIComponent(這是比較容易),讓jQuery的爲你做它:

$.get('./data/pages/admin/actions.php?savepost=1', { 
    post_id: $(box).attr('id'), 
    text: new_text 
}, 'text'); 

對數據參數的詳細信息,請參閱the docs

+0

感謝您的幫助:d – netcelli 2010-02-08 08:49:56

+0

@netcelli:很榮幸,很高興它幫助。 – 2010-02-08 08:55:30

2

使用encodeURIComponent()將換行符編碼爲正確的URL符號。

-2

通過之前new_text請先嚐試這樣做。

new_text.replace("\r\n","%0D%0A"); 
+0

「\ n」只是「%0A」。 「\ r \ n」(Windows換行符)將是「%0D%0A」! – AndiDog 2010-02-07 16:20:15

+0

是的......現在已經太遲了,我沒有意識到......當我嘗試編輯SO頁面時說維護中......嘆息...... – Reigel 2010-02-07 16:30:44

+0

無論如何,它只解決了問題的一個非常狹窄的部分。 – 2010-02-07 16:33:01