原生ajax接收json字符串(簡單介紹)


什么是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);

            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM