什么是跨域请求?
简单的理解就是向不在同一个域名的服务器文件发出请求。这个还是用实际的例子来说明一下吧,比如baidu.com向cxyblog.com发送请求,这两个域名是不同的,那么这就是跨域了,出于安全性的考虑,这样是不允许的。另外需要注意的是不同子域名或者同域名不同端口之间或者相同域名不同协议等发送的请求也都算是跨域的,基本上可以为归为下面几类:
(1)http://www.baidu.com向http://www.cxyblog.com发送请求
(2)http://www.cxyblog.com向http://image.cxyblog.com发送请求
(3)http://www.baidu.com:8000向http://www.cxyblog.com发送请求
(4)http://www.cxyblog.com向https://www.cxyblog.com发送请求
(5)http://www.cxyblog.com向http://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="/UploadFiles/2021-04-02/flyjsonp.min.js">
(2)然后要初始化FlyJSONP的实例,参数debug可设置为true或false,即:FlyJSONP.init({debug: true}),这个参数的意思就是是否打开调试信息,参数值为true或者false;
(3)接下里就是使用get方法或post方法请求数据了,具体实例代码如下:
//FlyJSONP实现跨域GET function 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实现跨域POST function 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字符串,否则客户端无法接收。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。