一、JSON
1、JSON的基本概念
JSON:JavaScript對象語法,是存儲和交換文本信息的語法,類似XML。它採用鍵值對的方式來組織,易於人們閱讀和編寫,同時也易於機器解析和生成。JSON是獨立於語言的,不管是什麼語言,都可以解析json,只需要按照json的規則即可。
2、JSON與XML的對比
json的長度和xml相比,比較短小。
json讀寫的速度更快。
json可以使用javaScript內建的方法直接進行解析,轉化爲JavaScript對象,非常方便。
3、JSON的語法規則
JSON的數據書寫格式是:名稱/值對,名稱/值對組合中的名稱寫在前面(在雙引號中),值對寫在後面(同樣雙引號中),中間使用冒號分割,比如:“name”:"衛莊",json的值可以是數值、字符串、布爾值、數組、對象、null。
4、JSON解析
解析JSON有兩種方式,eval和JSON.parse。在代碼中使用eval是不太嚴謹的,特別是用它執行第三方JSON數據(其中可能包含惡意代碼)時,儘可能使用JSON.parse()方法解析字符串本身,該方法還可以捕捉JSON的語法錯誤。
二、跨域處理
1、什麼是跨域?
當協議、域名、端口號中任意一個不相同時,都會造成跨域問題,不同域之間的互相請求,就是跨域。JavaScript出於安全方面的考慮,不允許跨域調用其他頁面的對象。什麼是跨域呢?簡單來說,就是因爲JavaScript同源策略的限制,不同域名下的js不能相符操作。
2、跨域處理方法一---代理
通過在同域名的web服務器端創建一個代理:北京服務器(域名:www.beijing.com)廣州服務器(域名:www.guangzhou.com),比如在北京的web服務器的後臺(www.beijing.com/proxy-shanghaiservice.php)來調用廣州服務器(www.guangzhou.com)的服務,然後把響應結果返回給前端,這樣前端調用北京同域名的服務器和調用廣州的服務器效果相同。
3、跨域處理方法二---jsonp
JSONP可以用於解決主流瀏覽器的跨域數據訪問問題,只支持GET方式,不支持POST請求。
4、跨域處理方法三---XHR2
HTML提供的XMLHTTPRequest Level2已經實現了跨域訪問以及其他以下新功能,但是IE10以下版本不支持,在服務端做以下改造即可:
header('Access-Control-Allow-Origin');
header('Access-Control-Allow-Methods':POST, GET);