首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提出跨域XHR请求

问如何提出跨域XHR请求
EN

Stack Overflow用户
提问于 2011-08-16 13:55:15
回答 4查看 1.5K关注 0票数 1

如何使工作的XHR跨域请求-我尝试过‘脚本标记Hack’,但它不工作,或我做错了什么。有什么建议吗?

我想从B调用A域的脚本。

域A: index.html

代码语言:javascript
复制
<head>
<script type="text/javascript" src="https://evilDomain/xhrTest.js"></script>
</head>

域B: xhrTest.js

代码语言:javascript
复制
$.ajax({
      url: "https://evilDomain/processRequest",
      success: function(result){
        alert(result);
      }
});

编辑的:

我还试图以这种方式使用JSONP:

代码语言:javascript
复制
$.ajax({
      url: "https://evilDomain/processRequest",
      dataType: "jsonp",
      success: function(result){
        alert(result);
      }
});

我正在使用TOMCAT容器,解决方案是否与Access-Control-Allow-Origin头连接?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-16 13:59:57

通常,您会要求您的服务器为您执行请求。

另一种选择是让别人为你做这件事(比如雅虎的服务)。

您的问题是域B的代码仍然在域A的上下文中执行。因此,仍然无法读取https://evilDomain/processRequest,因为代码是作为域A执行的,即使它实际上来自域B。

票数 1
EN

Stack Overflow用户

发布于 2011-08-16 14:13:12

是的,您可以将Access-Control-Allow-Origin头添加到服务器响应中。这将允许您提出跨域请求。

然后您可以根据需要使用Access-Control-Allow-Methods和Access-Control-Allow-Headers.进行进一步的定制。

有关详细信息,请参阅https://developer.mozilla.org/en/HTTP_access_control

票数 3
EN

Stack Overflow用户

发布于 2011-08-16 13:58:59

使用JSONP或者在您自己的域上拥有一个服务,在服务器端调用另一个域,并以这种方式获得所需的东西。

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

https://stackoverflow.com/questions/7079269

复制
相关文章

相似问题

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