egret踩坑,http请求返回IOError问题解决
这几天用白鹭引擎做游戏开发的时候用到了白鹭自带的HTTP请求API发现在请求自己的阿里云服务器的时候,API始终返回IOError错误,网上找了很多资料,也没有一个正面的回答.最后自己一遍遍尝试,终于发现.原来是服务器跨域的问题.
例如使用:
var request = new egret.HttpRequest(); request.responseType = egret.HttpResponseType.TEXT;
request.open(“http://www.fgreen.org”,egret.HttpMethod.GET);
request.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);
request.send();
request.addEventListener(egret.Event.COMPLETE,this.onGetComplete,this);
request.addEventListener(egret.IOErrorEvent.IO_ERROR,this.onGetIOError,this);
request.addEventListener(egret.ProgressEvent.PROGRESS,this.onGetProgress,this);
使用上面的代码进行http访问http://www.fgreen.org域名,假如此域名的服务器没有允许跨域访问,则白鹭的API会返回IO_ERROR错误也就是会执行this.onGetIOError函数.
这个时候就要修改服务器的配置比如在nginx服务器上:
Linux下找到nginx的配置文件然后用VI编辑器编辑它.
vi /etc/nginx/nginx.conf
加入如下代码
http {
###start####
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
###end ###
}
:wq!保存
service nginx restart 重启nginx即可。
在apache服务器上如下配置:
1.首先找到 httpd.conf 文件
找到 #LoadModule headers_module modules/mod_headers.so
把#注释符去掉(也有可能已经默认去掉了)
目的是开启apache头信息自定义模块
2.找到你的虚拟主机文件 注意是被跨域的网站的 具体内容是这样的文件
<Directory "E:/laragon/www/(你的本地地址)">AllowOverride AllRequire all granted
</Directory>
然后在这段内容里面加上如下:
对所有域名开放
Header set Access-Control-Allow-Origin * (这样加上一行)
对指定域名开放
Header set Access-Control-Allow-Origin http://www.***.com (或者这样加上一行)
OK,跨域问题搞定
egret踩坑,http请求返回IOError问题解决相关推荐
- 首次使用windows10安装DB2_10.5数据库踩坑全教程,附加问题解决目录思路汇总
新入职的IBM,需要安装IBM的数据库DB2,搞了两天踩坑全教程,下面是踩坑说明. DB2是IBM的数据库,官网说明是这个网址: IBM DocsIBM Documentation.https://w ...
- Ajax请求SSM后台传值方式踩坑
场景 在Ajax请求接口返回结果后,再次请求后台Controller.原来代码 $("#book").submit(function() {if($(this).Andrew_Va ...
- uc浏览器请求被拦截报跨域踩坑记录
记录下开发时uc浏览器请求被拦截时遇到的问题 请求在uc浏览器出现跨域问题 app使用uniapp开发,使用plus.runtime.launchApplication来打开并跳转指定页面,并在Xco ...
- spring配置CORS后未返回Access-Control-Allow-Origin的踩坑解决
一.配置方式 在 Spring 框架下解决 CORS 问题,前面试了两种方法,发现在一种场景下,HTTP Response header 始终未应答 Access-Control-Allow-Or ...
- 踩坑 :vue2 ajax异步请求数据,层数太多,页面无法渲染
刚接触vue2不是太久,勉强算是小白一枚吧,在此分享一下我最近踩的一个坑,望以后的小白们借鉴: 首先,数据结构: data(){ return { outer: { mid: [{ inner: &q ...
- Egret 生成 自带EUI 的微信小游戏 踩坑!
1. 首先,再次被网上一大堆屎一样的资料搞得浪费了我一天时间.各种坑. 2. 本文先讲一种正确的方式,然后再列举坑. 去www.egret.com下载最新的引擎,我的最新版本是5.2.2. 然后就会被 ...
- Mint-UI框架router-link返回上一页的方法 - 踩坑篇
使用mint-ui框架的header导航组件,<router-link to="">如何实现点击返回上一页? 代码如下: <template><!-- ...
- 微信公众号开发踩坑指南(3)——公众号返回超链接点击跳转并自动关闭
前段时间产品提了一个听起来很奇葩的需求,其实做起来也感觉很奇葩. 公众号在触发某些事件后,返回给用户具体的文案回复,但这个文案回复需要带超链接的,在用户点击超链接之后做一些CURD操作并改变改用户的状 ...
- 微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案
微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案 参考文章: (1)微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案 (2)https: ...
最新文章
- python 把集合转成字典的方法
- 《C++ Primer》7.3.2节练习
- wxpython可视化_使用wxPython的绘图模块wxPyPlot进行数据可视化
- Sona(NBUT-1457)
- 95-170-044-源码-Time-flink时间Processing Time源码分析
- 理解asp.net中DropDownList编辑数据源,绑定数据库数据。
- 《信息安全程序设计基础》第零周学习总结
- 操作系统实验一linux,操作系统实验一 Linux基本操作.doc
- 067、如何部署Calico网络 (2019-04-10 周三)
- C语言制作小游戏——贪吃蛇
- 项目整体管理:实施整体变更控制
- 我在Facebook工作的十大经验分享
- 中序线索化二叉树的遍历
- ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: unde
- 给Rstudio修改背景和字体等设置教程
- WIN7 64位系统安装CodeWarrior 6.3及BDM驱动
- SQL修改表字段名称及结构
- eps文件_如何编辑eps文件?
- 中大华工计算机分数,中大华工部分专业分数线猛涨
- 【数学建模、美赛】MCM/ICM指南