json解析##
eval不檢查數(shù)據(jù)是否合法
json.pasrse檢查數(shù)據(jù)是否合法
在線json格式化校驗(yàn)工具:jsonlint.com
eval不會(huì)執(zhí)行數(shù)據(jù)的檢查纺讲,直接執(zhí)行alert語句
JSON.parse()會(huì)報(bào)錯(cuò)墅诡,更加的安全
請求方法改進(jìn):
1、服務(wù)器端返回JSON字符串:header("Content-Type:application/json;charset=utf-8");
2周崭、服務(wù)器端所有返回值寫成JSON格式哑诊;
3、客戶端解析JSON字符串:
JSON.parse(xhr.responseText)
跨域##
跨域概念###
javaScript處于安全方面的考慮透葛,不允許跨域調(diào)用其他頁面的對象笨使。什么是跨域呢,簡單地理解就是因?yàn)閖avaScript同源策略的限制僚害,a.com域名下的js無法操作b.com或是c.a.com域名下的對象
域名地址的組成###
除了服務(wù)端地址的改變叫做重定向以外硫椰,其他幾個(gè)可變更的參數(shù)中任意一個(gè)的改變就叫做跨域。
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/5540636-96a178d14ce4d5a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
主域名相同,子域名(可能是多級子域名)
HTTP默認(rèn)訪問80端口
HTTPS默認(rèn)訪問443端口
處理跨域的幾種方法###
1. 代理(屬于后臺的技術(shù))###
2. JSONP###
JSONP只支持get請求靶草,不支持post請求
實(shí)現(xiàn):
前端
更改的地方
服務(wù)端
獲取 jsonp
改變返回的值
jq自動(dòng)增加了一個(gè)參數(shù)
服務(wù)端返回的值
重點(diǎn)在于:同源策略 + <script>的src不屬于同源策略 + 通過<script>的src指向的文件返回服務(wù)器端數(shù)據(jù)蹄胰。
3.XMLHttpRequest Level2###
所有支持xhr2的服務(wù)器都可以實(shí)現(xiàn)跨域,只需要去更改服務(wù)端
可以參考:http://www.cnblogs.com/wangfupeng1988/p/4060747.html
http://www.cnblogs.com/laneyfu/p/6544452.html