我有一個PHP文件,使用xmlhttp將字符串發送到js文件。 js文件應該將字符串轉換爲一個對象,並開始在這個對象上做他的事情。試圖將字符串轉換爲對象使用Javascript,但在ie8中獲取語法錯誤
好了,PHP文件打印字符串:
$obj="{status:'ok',data:'{link:\"".$link."\",c:\"".$c."\",p:\"".$p."\"}'}";
echo $obj;
和js文件應該得到這樣的:
{status:'ok',data:'{link:"http://test.com/test.html",c:"9",p:"1"}'}
雖然我想這個字符串轉換從JS文件字符串到一個對象,我得到ie8語法錯誤(在Firefox和Chrome中工作正常)。
這裏是我如何做到這一點的JS文件:
eval("var response=" + xmlhttp.responseText);
我試圖手動將字符串中的js文件和EVAL工作,所以我認爲這個問題是與撇號和引號由php文件發佈。
您認爲如何?有沒有人知道這種問題的解決方案?
在此先感謝!
你檢查了什麼表達式「var response =」+ xmlhttp.responseText實際上評估到了什麼? –
Hi Roy,這是我打印時得到的結果: 'var response = {status:'ok',data:'{link:「http://test.com/test.html」,c:「9 「,p:」1「}'}'' –
爲什麼不使用PHP的[JSON庫](http://php.net/manual/en/book.json.php)來創建一個標準的JSON字符串和那麼在JavaScript中使用JSON庫來加載客戶端上的對象,而不是使用'eval'? –