最近有个新项目用了hbuilder这个开发工具,但是在用mui.ajax()方法进行跨域请求的时候,浏览器总是报
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8020' is therefore not allowed access. The response had HTTP status code 403.错误。
看提示是服务器不支持跨域访问,这就纳闷了,到底是哪个服务器不支持跨域呢,看看ip地址是本地起的chrome内置浏览器,好吧,那hbuilder有没有地方可以对他进行设置呢?答案是肯定的。
在【运行】->【运行配置】点击进去有个设置的地方
选中chrome设置参数, 我的是mac系统, 参数设置为--args --disable-web-security --user-data-dir=/Users/xxx/Desktop/file/devdata就可以了,user-data-dir一定要加。
这个参数怎么设置和chrome版本号有很大关系 ,chrome的版本升到49之后,跨域设置比以前严格了,在打开命令上加--disable-web-security之后还需要给出新的用户个人信息的目录。
下面为windows操作系统的设置
版本号49之前
1.下载并安装好chorme浏览器后在桌面找到浏览器快捷图标并点击鼠标右键的属性一栏。
2.在属性页面中的目标输入框里加上 --disable-web-security 如下图所示:
版本号49之后
1.在电脑上新建一个目录,例如:C:\MyChromeDevUserData
2.在属性页面中的目标输入框里加上 --disable-web-security --user-data-dir=C:\MyChromeDevUserData,--user-data-dir的值就是刚才新建的目录。