Prototype.js - 无法在浏览器

时间:2015-09-17 10:38:33

标签: javascript ajax prototypejs request-headers

我想在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。”

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

基于此github Pull Request和最新版本(1.7.2),您应该能够删除Prototype为Ajax请求添加的额外X-*标头。

我认为这将解决您遇到的问题,因为有2个标头导致CORS请求出现问题,X-Requested-WithX-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
}