Hbuilder mui.ajax 实现浏览器跨域

最近有个新项目用了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之后还需要给出新的用户个人信息的目录。


版本号49之前只要加 --args --disable-web-security就可以了, 版本号49之后一定要加user-data-dir


下面为windows操作系统的设置

版本号49之前

1.下载并安装好chorme浏览器后在桌面找到浏览器快捷图标并点击鼠标右键的属性一栏。
2.在属性页面中的目标输入框里加上 --disable-web-security 如下图所示:

版本号49之后

1.在电脑上新建一个目录,例如:C:\MyChromeDevUserData

2.在属性页面中的目标输入框里加上 --disable-web-security --user-data-dir=C:\MyChromeDevUserData,--user-data-dir的值就是刚才新建的目录。

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...