我目前正在使用WordPress API构建一些自定义API, 并且通过浏览器调用此链接非常有用:
https://laundrylocker-eg.com/wp-json/wp/v2/delivery-locations
JSON中的响应没有出错, 所以从Ionic应用程序我尝试调用此API来获取回调此数据,但面对此CORS问题并尝试修复它没有任何工作,如在chrome中禁用CORS并使用插件启用所有域的CORS作为开发阶段无法加载https://laundrylocker-eg.com/wp-json/wp/v2/pickup-locations/2018-04-03:对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头包含多个值'*,*',但只允许一个。因此,不允许原点“http://localhost:8100”访问。 core.js:1350 ERROR HttpErrorResponse {headers:HttpHeaders,status:0,statusText:“Unknown Error”,url:null,ok:false,...}
请求网址:https://laundrylocker-eg.com/wp-json/wp/v2/pickup-locations/2018-04-03
请求方法:选项
状态代码:200 OK
远程地址:50.87.248.230:443
推荐人政策:no-referrer-when-downgrade
Access-Control-Allow-Credentials:true
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:授权,内容类型
Access-Control-Allow-Headers:授权,内容类型,内容范围,
内容处理,内容描述,访问控制请求方法
Access-Control-Allow-Methods:POST,GET,OPTIONS,PUT,DELETE
访问控制 - 允许 - 方法:PUT,GET,POST,DELETE,OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:X-WP-Total,X-WP-TotalPages
允许:获取
缓存控制:max-age = 21600
连接:保持活力
内容编码:gzip
内容长度:116
Content-Type:application / json;字符集= UTF-8
日期:2018年4月3日星期二12:02:28 GMT
到期:周二,2018年4月3日18:02:28 GMT
链接:https://laundrylocker-eg.com/wp-json/;的rel = “https://api.w.org/”
服务器:nginx / 1.12.2
答案 0 :(得分:0)
并不是要返回一个值为*, *
的单个ACAO标头 - 而是您要返回重复的CORS标头,并且浏览器已合并它们。
在代码中的某个位置(或您正在使用的软件包的代码中),CORS标头将被添加两次。我的猜测是你以某种方式添加了两个CORS支持包或类似的东西,他们都添加了CORS响应头......
由于两个Access-Control-Allow-Headers
和Access-Control-Allow-Methods
标头的值不同,因此应该很容易搜索它们的添加位置并删除重复项。