[英]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.