PHP如何解决服务器端处理跨域时报错的问题?如果你刚好也有这个困惑,不妨参照这篇文章。,希望大家阅读完这篇文章后可以有所收获。
起初只在文件开头设置了
header('Access-Control-Allow-Origin:*');
然后报错
Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.
解决方法:
文件开头设置
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods:OPTIONS, GET, POST'); // 允许option,get,post请求 header('Access-Control-Allow-Headers:x-requested-with'); // 允许x-requested-with请求头 后成功
其中比较疑惑的是 Access-Control-Allow-Headers 的设置。 看了这篇文档 后理解了
如果浏览器请求包括Access-Control-Request-Headers字段,则Access-Control-Allow-Headers字段是必需的。它也是一个逗号分隔的字符串,表明服务器支持的所有头信息字段,不限于浏览器在"预检"中请求的字段。
然后看了请求头中确实 包括Access-Control-Request-Headers
然后成功返回接口信息
以上就是PHP解决服务器端处理跨域时报错问题的方法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注亿速云行业资讯,感谢各位的阅读。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。