国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript如何實現跨域請求

2019-11-20 09:18:12
字體:
來源:轉載
供稿:網友

什么是跨域請求?
簡單的理解就是向不在同一個域名的服務器文件發出請求。這個還是用實際的例子來說明一下吧,比如baidu.com向cxyblog.com發送請求,這兩個域名是不同的,那么這就是跨域了,出于安全性的考慮,這樣是不允許的。另外需要注意的是不同子域名或者同域名不同端口之間或者相同域名不同協議等發送的請求也都算是跨域的,基本上可以為歸為下面幾類:
(1)http://www.baidu.comhttp://www.cxyblog.com發送請求
(2)http://www.cxyblog.comhttp://image.cxyblog.com發送請求
(3)http://www.baidu.com:8000http://www.cxyblog.com發送請求
(4)http://www.cxyblog.comhttps://www.cxyblog.com發送請求
(5)http://www.cxyblog.comhttp://112.65.242.67發送請求(假設域名www.cxyblog.com所對應的IP是112.65.242.67)
以上五種情況都算是跨域請求。

什么時候會用到跨域請求?
有時候我們需要使用Javascript進行Ajax操作的時候會碰到這種跨域請求操作的問題。
為什么直接使用javascript不能實現跨域請求?
由于安全的原因,javacript同源策略的限制,瀏覽器不允許Javascript請求跨域的資源。
如何解決javascript不能實現跨域請求的問題?
本文用到的解決方法是使用FlyJSONP應用JSONP實現跨域請求。FlyJSONP是一個輕量級的JavaScript類庫,也被稱作JSON插件,壓縮后總大小約為3KB,不需要其他框架的支撐。
FlyJSONP官網地址:http://alotaiba.github.com/FlyJSONP/
那么該如何使用FlyJSONP類庫實現跨域請求呢? 

(1)首先要加載FlyJSONP的Javascript腳本,即:

<script language="javascript" src="http://www.cxyblog.com/flyjsonp.min.js"></script> 

(2)然后要初始化FlyJSONP的實例,參數debug可設置為true或false,即:FlyJSONP.init({debug: true}),這個參數的意思就是是否打開調試信息,參數值為true或者false; 

(3)接下里就是使用get方法或post方法請求數據了,具體實例代碼如下:

//FlyJSONP實現跨域GETfunction getData(){ FlyJSONP.init({debug:true});//初始化FlyJSONP的實例,參數debug可設置為true或false FlyJSONP.get({  url:'http://www.cxyblog.com/article.json',//目標請求的URL  parameters:{//請求參數   limit:5  },  success:function(data){//發送請求成功   console.log(data);  },  error:function(errorMsg){//發送請求失敗   console.log(errorMsg);  } });}//FlyJSONP實現跨域POSTfunction postData(){ FlyJSONP.init({debug:true});//初始化FlyJSONP的實例,參數debug可設置為true或false FlyJSONP.post({  url:'http://www.cxyblog.com/article/new',  parameters:{   username:'cxyblog',   api_key:'123456',   title:'FlyJSONP',   description:'test'  },  success:function(data){   alert(data);  } });}

注意:服務端輸出給客戶端時,輸出的必須是json字符串,否則客戶端無法接收。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐池县| 威信县| 张掖市| 伊宁县| 汾西县| 渭源县| 怀化市| 巍山| 晴隆县| 抚松县| 仁布县| 大邑县| 石泉县| 集安市| 永安市| 临朐县| 鹤峰县| 开江县| 盈江县| 七台河市| 桓仁| 永和县| 灵璧县| 卓资县| 永州市| 天气| 武宣县| 铜山县| 澄江县| 玉树县| 万安县| 拉萨市| 天峻县| 双牌县| 崇阳县| 建宁县| 盐源县| 盐池县| 柳江县| 吉水县| 咸丰县|