2009-12-29 79 views
1

固定;jQuery解析器錯誤長JSON文本

我正在使用一個簡單的jQuery從服務器上下載文本,數據類型爲json。

$.get('http://169.254.100.5/ajax.php',{action:'p',i:'{$data['id']}'},function(data) 
{ 
    $.each(data.responses, function(i,response) 
    { 
     alert(response.longtext) 
    } 
} 

當response.longtext很短(小於1000字符像「hello world」)我沒有問題,腳本正常運行。

當response.longtext很長時(像lorem ipsum的段落)我得到一個parsererror。

我做了一些試驗,並使用$ .ajax(...)重寫了它,並刪除了$ .each方法,但仍然收到解析器錯誤。

error: function(XMLHttpRequest, textStatus, errorThrown) 
{ 
    alert("err: " + textStatus); 
} 
+3

發佈完整的錯誤和樣本響應 – 2009-12-29 23:15:37

+0

''{$ data ['id']}''也是一個明顯的語法錯誤。 – bobince 2009-12-29 23:45:08

+0

'{$ data ['id']}'是一個php元素 – Jay 2009-12-30 14:43:15

回答

0

如何打印服務器中的數據?也許你沒有正確地逃避字符。你在php中使用json_encode嗎?

0

響應編碼不正確的可能性很大。你有沒有嘗試在responseText上做eval()?

0

哦,我的不好,這是在導致我的錯誤lorem ipsum和\n

我沒有使用json_encode,因爲我用$stmt->fetch()循環動態生成json。只是削減了有問題的角色,這很好。

+1

請不要回答一個答案,但編輯您的問題。 – Gumbo 2009-12-29 23:34:35