XMLHttpRequest 无法加载 url.预检响应中的访问控制允许方法不允许方法 PUT

XMLHttpRequest cannot load url. Method PUT is not allowed by Access-Control-Allow-Methods in preflight response

本文关键字:方法 许方法 访问控制 不允许 PUT 加载 url 响应 XMLHttpRequest      更新时间:2023-09-26

我正在使用angularjs $http用于ajax请求。它在getpost下工作正常,但在put的情况下会出错。

响应标头 :

Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding, Accept-Language, Host, Referer, User-Agent, X-API-KEY
Access-Control-Allow-Methods:OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1728000
Content-Length:0
Date:Mon, 25 Jan 2016 08:44:05 GMT
Server:spray-can/1.3.2

请求标头 :

Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,hi;q=0.6
Access-Control-Request-Headers:accept, content-type, x-api-key
Access-Control-Request-Method:PUT
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost:8000
Referer:http://localhost:8000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36

尝试设置以下标头:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, Content-Type, Authorization, X-Auth-Token');
header('Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS');