Prototype.js - 在浏览器的请求详细信息中看不到添加的 headers

Prototype.js - cannot see added headers in request details in browser

我想在 Ajax.Request 中添加一些 headers。我创建了 requestHeader object:

requestHeaders: {
     'Access-Control-Allow-Origin': '*',
     'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE,OPTIONS',
     'Access-Control-Allow-Headers': 'Access-Control-Allow-Origin'
}

但在我的请求中看不到那些 headers(在浏览器中检查)。在控制台中,我看到错误:

"XMLHttpRequest cannot load http://my_domain.com?some_parameters. Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers."

如何解决这个问题?

基于最新版本 (1.7.2) 的 github Pull Request,您应该能够删除 Prototype 添加到 Ajax 请求中的额外 X-* headers .

我认为这将解决您遇到的问题,因为有 2 个 headers 导致 CORS 请求出现问题,X-Requested-WithX-Prototype-Version

所以使用相同的 headers object

requestHeaders: {
 'Access-Control-Allow-Origin': '*',
 'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE,OPTIONS',
 'Access-Control-Allow-Headers': 'Access-Control-Allow-Origin',
 'X-Requested-With': null,
 'X-Prototype-Version': null
}