簡體   English   中英

在php中使用json_encode如何在javascript中使用

[英]using json_encode in php how to consume in javascript

我正在通過json_encode從php返回數據, while($row = mysql_fetch_assoc($results)){ echo json_encode($row); }

現在,當我通過控制台登錄時,我得到{“ username”:“ foster”,“ sport”:“ tennis”,“ latitude”:“ 19.166901”,“ longitude”:“ 72.951720”} {“ username”:“ anirudh”,“運動”:“橄欖球”,“緯度”:“ 19.218330”,“經度”:“ 72.978088”}

問題是我如何獲得對返回字段的訪問權限。 它以字符串形式返回。 當我執行JSON.parse時出現錯誤

VM1115:1 Uncaught SyntaxError: Unexpected token { in JSON at position 85
    at JSON.parse (<anonymous>)
    at Object.success (form.js:43)
    at j (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at x (jquery.min.js:4)
    at XMLHttpRequest.b (jquery.min.js:4)

請指教。

非常感謝Archit Wahi

您不需要解析json數據。只需使用data.objectname即可獲取

創建json的方式很難在js中解析。 這就是您應該采取的方式。

$result = array();
while($row = mysql_fetch_assoc($results))
{
    $result[] = $row;
}
echo json_encode($result);

這將為您提供一個json,您可以根據需要使用以下方法進行解析:

var result = JSON.parse(thePHPresult);

並且您的JSON將類似於:

[{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}]

這是一個JSON數組,可以添加為:

 var theJSON = [{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}]; for(var i=0; i< theJSON.length; i++) { console.log(theJSON[i].field_2); } 

您必須將行添加到數組中,片刻之后,您可以回顯json_encode()的結果。 在每行之后回顯的簡單行不是有效的JSON。

當您僅從數據庫中獲得一個結果時,還是在多行時得到錯誤?

如果將所有行存儲在一個數組中,然后對數組進行echo json編碼,那將解決您的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM