即使从同一域调用ajax,也会出现跨域错误

时间:2013-06-21 07:36:33

标签: jquery ajax cross-domain

我正在进行ajax调用以检查用户名可用性。要调用的url是在js文件中硬编码的。例如http://abc.com/users/check_availability

现在当我从http://abc.com拨打ajax电话时,它工作正常,但如果我从http://www.abc.com拨打电话,则会出现跨域错误。

XMLHttpRequest无法加载http://abc.com/users/check_availability?username=sd。 Access-Control-Allow-Origin不允许原点http://www.abc.com

我如何解决这个问题? jsonp是唯一的方法吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试在服务返回数据时设置备用HTTP标头值:

Access-Control-Allow-Origin:*

Access-Control-Allow-Headers:"Content-Type, X-Requested-With, X-Auth-Token"

在尝试对不同子域下的服务进行REST调用时,这对我们有用。

您不必进行Access-Control-Allow-Origin:*您可能更具限制性。但我们试过这只是为了检查它是否会起作用。

只是为了澄清 - 我们仍然使用json而不是jsonp