2013-07-24 96 views
0

當我這樣做:未捕獲的SyntaxError:意外的令牌上的PHP非法json_encode

onClick = "return generateClient('<?php echo json_encode($_POST)?>');" 

我得到了谷歌瀏覽器控制檯上的錯誤。

Uncaught SyntaxError: Unexpected token ILLEGAL 

但我做到這一點從PHP時:

print_r(json_encode($_POST)); 

我得到:

{"lang-select":"C++","question-id":"1","method-name":"Rishi","param-count":"1","lib-path":"c:\\h\\b.out","return-select":"unsigned int","sample-count":"1","class-name":"m"} 

什麼都可以在這個故障?

+0

修復語法錯誤是調試過程的一部分。這是你必須做的事情。這不是免費的調試器服務 –

+0

查看生成的源代碼或DOM檢查器。這是你期望的嗎? –

回答

2

您的數據包含"個字符。

您的屬性值由"個字符分隔。

數據中的第一個"將結束屬性值。

A validator會爲你挑選這個。

通過htmlspecialchars運行您的數據以對引號進行編碼。

相關問題