您正在执行该请求的跨域,因此您发出请求的服务器必须发送Access-Control-Allow-Origin
响应标头以指示它允许跨源请求.
有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS.
出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求.例如,XMLHttpRequest和Fetch遵循同源策略.因此,使用XMLHttpRequest或Fetch的Web应用程序只能向其自己的域发出HTTP请求.
而一个原因OPTIONS
请求的情况是,当你发送一个跨域请求,以Content-Type
具有比其它的值头application/x-www-form-urlencoded
,multipart/form-data
或者text/plain
,您的浏览器首先进行CORS预检检查.
您的请求发送Content-Type: text/xml; charset="utf-8"
,因此导致预检.
至于解决方法,如果您发送请求的服务器不是您控制并可配置的服务器,则可以使用开放式反向代理,如https://cors-anywhere.herokuapp.com/.
它的工作方式是,而不是直接发送请求到http://xxx.xxx
,你把它改为https://cors-anywhere.herokuapp.com/http://xxx.xxx和代理您的请求和响应与浏览器Access-Control-Allow-Origin
和其他预期的CORS标头.
当然,您需要了解如果您的请求包含任何机密信息,cors-anywhere.herokuapp.com
如果他们记录请求的数据,您将向维护者公开.
您正在执行该请求的跨域,因此您发出请求的服务器必须发送Access-Control-Allow-Origin
响应标头以指示它允许跨源请求.
有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS.
出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求.例如,XMLHttpRequest和Fetch遵循同源策略.因此,使用XMLHttpRequest或Fetch的Web应用程序只能向其自己的域发出HTTP请求.
而一个原因OPTIONS
请求的情况是,当你发送一个跨域请求,以Content-Type
具有比其它的值头application/x-www-form-urlencoded
,multipart/form-data
或者text/plain
,您的浏览器首先进行CORS预检检查.
您的请求发送Content-Type: text/xml; charset="utf-8"
,因此导致预检.
至于解决方法,如果您发送请求的服务器不是您控制并可配置的服务器,则可以使用开放式反向代理,如https://cors-anywhere.herokuapp.com/.
它的工作方式是,而不是直接发送请求到http://xxx.xxx
,你把它改为https://cors-anywhere.herokuapp.com/http://xxx.xxx和代理您的请求和响应与浏览器Access-Control-Allow-Origin
和其他预期的CORS标头.
当然,您需要了解如果您的请求包含任何机密信息,cors-anywhere.herokuapp.com
如果他们记录请求的数据,您将向维护者公开.