我想在Ajax.Request中添加一些标头。我创建了requestHeader对象:
requestHeaders: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE,OPTIONS',
'Access-Control-Allow-Headers': 'Access-Control-Allow-Origin'
}
但在我的请求中无法看到这些标题(在浏览器中检查)。在控制台中我看到错误:
“XMLHttpRequest无法加载http://my_domain.com?some_parameters。请求标头字段Access-Control-Allow-Origin不允许使用Access-Control-Allow-Origin。”
如何解决这个问题?
答案 0 :(得分:1)
基于此github Pull Request和最新版本(1.7.2),您应该能够删除Prototype为Ajax请求添加的额外X-*
标头。
我认为这将解决您遇到的问题,因为有2个标头导致CORS请求出现问题,X-Requested-With
和X-Prototype-Version
所以使用相同的标题对象
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
}