我正在使用echo發送一個字符串回javascript函數,但是發送的字符串的長度比js函數讀取的長度小1。當我查看螢火蟲控制檯中的第一個字符時,值爲「」。如何防止echo將null字符附加到輸出字符串?
echo "Success";
我執行由Ajax調用從而未能返回的數據進行了比較:
if (data == "Success")
如果我申請了jQuery $ .trim運作成功爲止。
我正在使用echo發送一個字符串回javascript函數,但是發送的字符串的長度比js函數讀取的長度小1。當我查看螢火蟲控制檯中的第一個字符時,值爲「」。如何防止echo將null字符附加到輸出字符串?
echo "Success";
我執行由Ajax調用從而未能返回的數據進行了比較:
if (data == "Success")
如果我申請了jQuery $ .trim運作成功爲止。
我認爲echo()
不是打印空字符,它是打印回車。改爲使用print()
。
爲了避免這個問題,我要麼使用更多的RESTful HTTP狀態碼來表示成功和失敗(在這種情況下,jQuery甚至有特定的onFailure和onSuccess回調),或者使用JSON來編碼你正在返回的值。你可以讓PHP做echo json_encode(array('status' => 'success'));
,然後在jQuery做if(data['status'] == 'success')
。如果您決定稍後返回實際數據,這將使您的代碼更具前瞻性。如果你以後做了,請確保正確設置了你的內容類型,或者告訴jQuery期望JSON。
您的PHP文件末尾可能有一個空格。確保文件不以?>
結尾(如果存在則刪除)。這總是會產生問題,導致輸出中出現額外的空白。
Couldnt agree more。 Theres沒有理由發送純文本......它總是發送一種格式,無論是「JSON」,「XML」還是「HTML」片段直接插入DOM。 – prodigitalson 2012-07-07 23:47:43