首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >crossdomain.xml配置

crossdomain.xml配置
EN

Stack Overflow用户
提问于 2012-11-15 17:13:13
回答 1查看 10.3K关注 0票数 1

我必须使用ajax从javascript调用web服务:

代码语言:javascript
复制
$.ajax({
    type: "GET",
    url: "http://[REMOTE-SERVER-IP]:8080/api/service",
    contentType: "application/jsonp",   
    crossDomain: true,
    success: successFunc,
    error: errorFunc
});

我读到,要授予对该方法的访问权限,必须在服务器http://[REMOTE-SERVER-IP]:8080/crossdomain.xml中创建一个“crossdomain.xml

代码语言:javascript
复制
<cross-domain-policy>
   <allow-access-from domain="[SERVICE-CALLER-IP]"/>
</cross-domain-policy>

但在此之后,当我尝试调用该方法时,从javascript调试器中得到以下错误:

代码语言:javascript
复制
XMLHttpRequest cannot load http://[REMOTE-SERVER-IP]:8080/[URL]. Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin

我做错了什么?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 17:59:01

您可以在这里选择两个选项,这两个选项都假定您可以访问服务器。

  • 第一个选项是在请求url中添加callback=?参数,并修改服务器响应。服务器应按以下格式将回调函数添加到响应中

callback_function_coming_from_url(your_server_response)

  • The第二个选项是将Access-Control-Allow-Origin: *报头添加到服务器响应中。或者,您可以指定地址,如Access-Control-Allow-Origin: [your_client_address]

我更喜欢选项2,因为它是完成任务的便捷方法,而且,您可以控制服务器响应,比选项1更安全。

您可以从CORS获取更多信息

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13394368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档