0

我正在进行 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是唯一的方法吗?

4

1 回答 1

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

于 2013-06-21T07:45:16.163 回答