javascript
JSONP的优缺点
1.優(yōu)點(diǎn)
1.1它不像XMLHttpRequest對象實(shí)現(xiàn)的Ajax請求那樣受到同源策略的限制,JSONP可以跨越同源策略;
1.2它的兼容性更好,在更加古老的瀏覽器中都可以運(yùn)行,不需要XMLHttpRequest或ActiveX的支持
1.3在請求完畢后可以通過調(diào)用callback的方式回傳結(jié)果。將回調(diào)方法的權(quán)限給了調(diào)用方。這個就相當(dāng)于將controller層和view層終于分開了。我提供的jsonp服務(wù)只提供純服務(wù)的數(shù)據(jù),至于提供服務(wù)以 后的頁面渲染和后續(xù)view操作都由調(diào)用者來自己定義就好了。如果有兩個頁面需要渲染同一份數(shù)據(jù),你們只需要有不同的渲染邏輯就可以了,邏輯都可以使用同 一個jsonp服務(wù)。
2.缺點(diǎn)
2.1它只支持GET請求而不支持POST等其它類型的HTTP請求
2.2它只支持跨域HTTP請求這種情況,不能解決不同域的兩個頁面之間如何進(jìn)行JavaScript調(diào)用的問題。
2.3 jsonp在調(diào)用失敗的時候不會返回各種HTTP狀態(tài)碼。
2.4缺點(diǎn)是安全性。萬一假如提供jsonp的服務(wù)存在頁面注入漏洞,即它返回的javascript的內(nèi)容被人控制的。那么結(jié)果是什么?所有調(diào)用這個 jsonp的網(wǎng)站都會存在漏洞。于是無法把危險控制在一個域名下…所以在使用jsonp的時候必須要保證使用的jsonp服務(wù)必須是安全可信的。
總結(jié)
- 上一篇: 记一次小米前端面试题(一面)2020.1
- 下一篇: osgi框架和spring区别_最全15