XMLHttpRequest web跨域问题

问题描述:
1在模拟器上运行没有问题
2使用浏览器运行 提示 跨域问题,并且服务器那边没有收到客户端的请求,错误提示如下:
has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. [http://localhost:7456/]

请问一下 有什么解决方法吗?

服务器那边的文件也要设置允许跨域

跨域问题,不由客户端来处理,必须由服务端处理。客户端请求服务器时带origin的header,服务器向客户端下发数据时带上Access-Control-Allow-Origin header,且header = 客户端上传的origin 的值 即可

谢谢你的回答,现在的问题是客户端发送一个请求,服务器那边说是没有收到,我使用了creator自带的模拟器运行 是可以正常运行的,使用浏览器运行就不行。我有一些猜想:
1.creator 自带的web服务没有实现跨域(我暂时也没有找到这个web服务在哪里)
2.本地浏览器自动拦截 导致了客户端的请求没有发送出去。
3.我打包成小游戏是可以正常运行

你设置的这些是没用的,这些是服务器设置的,跨域问题只能服务器解决,也跟creator自带的web服务没有半毛钱关系,跨域问题只有两种方案
1、同域
2、服务器允许跨域

1赞

不用猜,这个问题明确是服务端设置Access-Control-Allow-Origin 来解决。或者okou说的同域来解决。

能产生 跨域问题,说明服务器已经返回数据了(没有“服务器那边说是没有收到” 这一说), 跨域问题是由浏览器引发的,因为response的header没有指定Access-Control-Allow-Origin 且客户端所在的域名与请求的服务器接口不是同域。所以浏览器收到数据后报错,终止你的请求。

这个问题找服务端或运维沟通解决。

chrom浏览器跨域插件啊

客户端设置的再多,也是花里胡哨,没点用,跨域你得设置服务端,说服务端收不到请求,你把你客户端设置的一堆去掉,设置一下服务端跨域在试一下

都收到跨域报错了还说服务器没收到这服务器也是个渣渣

你解决了吗

相当于 A 向 B 索要东西,无论 A 说得再漂亮, 给不给东西最终需要 B 来决定的

开发阶段一键跨域