原生ajax接收json字符串(簡單介紹)
阿新 • • 發佈:2018-08-12
object 如果 圖片 存在 技術分享 數據交換 http請求 形式 eve
什麽是json?
JSON的全稱是 Javascript Object Notation(javascript對象表示法),是基於javascript對象字面量,如果單從眼睛看,JSON裏的數據是被保存在花括號裏面-- {},如果在用途上面進一步分析,JSON是一種數據交換格式。JSON內部以 名稱:值這種格式排列,如下面的json1,就是一個json對象。
var json2={"name":"張三","age":21,"sex":"boy"}
什麽是json字符串?
如其字面意思,給json兩邊加上雙引號(或者單引號),為了避免與內部的雙引號沖突,我們這外面放單引號,就成了json字符串了,如下面的json2
var json2=‘{"name":"張三","age":21,"sex":"boy"}‘
方法一:使用eval方法將json字符串解析成為json對象
evel不存在兼容性問題,但是會有安全漏洞。
方法二:使用JSON.parse方法將json字符串解析稱為json對象
JSON.parse不存在安全漏洞,但是會有兼容性,IE8及以下不支持。
如圖:
運行結果
//創建對象XMLHttpRequest var ajax=new XMLHttpRequest(); //創建http請求,設置請求地址 ajax.open("get","testservlet.do");//發送請求 (get為null post為參數) ajax.send(null); //給ajax設置事件(這裏最多感知4[1-4]個狀態) ajax.onreadystatechange = function(){ //5.獲取響應 //responseText 以字符串的形式接收服務器返回的信息 //console.log(ajax.readyState); if(ajax.readyState == 4 && ajax.status == 200){//使用JSON.parse方法將json字符串解析稱為json對象 var data = JSON.parse(ajax.responseText); console.log(data.data); //使用eval方法將json字符串解析成為json對象 var data1=eval("("+ajax.responseText+")"); console.log(data1.data); } }
原生ajax接收json字符串(簡單介紹)