我試圖將json編碼的值從一個php腳本傳遞給一個GnuBookTest.js,它啓動一個Bookreader對象並使用我通過名爲「result」的變量傳入的值。爲什麼這個JSON.parse代碼不起作用?
PHP腳本正在發送的值,如:
<div id="bookreader">
<div id="BookReader" style="left:10px; right:10px; top:30px; bottom:30px;">x</div>
<script type="text/javascript">var result = {"istack":"zi94sm65\/BUCY\/BUCY200707170530PM","leafCount":"14","wArr":"[893,893,893,893,893,893,893,893,893,893,893,893,893,893]","hArr":"[1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155]","leafArr":"[0,1,2,3,4,5,6,7,8,9,10,11,12,13]","sd":"[\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\",\"RIGHT\",\"LEFT\"]"}</script>
<script type="text/javascript" src="http://localhost:8080/application/js/GnuBookTest.js"></script>
</div>
</div>
,並在GnuBookTest.js文件我試圖使用的值,如:
br = new BookReader();
// Return the width of a given page.
br.getPageWidth = function(index) {
return this.pageW[index];
}
// Return the height of a given page.
br.getPageHeight = function(index) {
return this.pageH[index];
}
br.pageW = JSON.parse(result.wArr);
br.pageH = JSON.parse(result.hArr);
br.leafMap = JSON.parse(result.leafArr);
//istack is an url fragment for location of image files
var istack = result.istack;
.
.
.
使用JSON.parse,因爲我有在上面寫入它加載Bookreader,並在幾個Web瀏覽器中正確使用我的值:Firefox,IE8和桌面Safari;但在mac-Chrome,mobile-Safari和舊版IE中完全不起作用。移動Safari瀏覽器不斷給我一個參考錯誤消息:無法找到變量:JSON。其他瀏覽器只是不加載Bookreader,而是顯示「x」,就像他們沒有從php腳本中獲取值一樣。
問題在哪裏?
$ Jeff Beaman,我面臨同樣的問題。它適用於其他瀏覽器,但不適用於IE。我havet這段代碼:$。阿賈克斯({ \t 網址: 'get_cpu.php', 成功:功能(數據){ \t \t VAR MyObj中= JSON.parse(數據);任何想法如何,我可以修改這個?我嘗試了你的mehtod,沒有運氣。 – user1471980 2013-06-13 19:37:59