【问题标题】:What is exactly cross domain call?什么是跨域调用?
【发布时间】:2013-11-20 13:06:57
【问题描述】:

我知道如果您从 example.com 向 yahoo.com 进行 ajax 调用,它就是跨域调用。但我不确定以下情况。

1) IIS 中有一个域名为“www.test.com”的 Web 应用程序,我还在 IIS 中托管了一个域名为“api.test.com”的 Web 服务。现在如果我从 "www.test.com" 到 "api.test.com" 进行 ajax 调用,这会被视为跨域调用吗?

2) 与案例 1 相同,但如果我在 Windows 服务器上托管 Web 应用程序(“www.test.com”),并且如果我在 Linux 服务器上托管 Web 服务(“api.test.com”),并且现在如果我从“www.test.com”到“api.test.com”进行ajax调用,这会被视为跨域调用吗?

【问题讨论】:

    标签: cross-domain


    【解决方案1】:

    您不能使用 javascript 进行跨域调用。这也包括子域之间的调用。

    但是,要想办法让调用子域变得容易。您需要在两个页面中设置相同的document.domain。你可以在这里阅读更多关于它的信息A question about cross-domain (subdomain) ajax request

    更新: 忘了提到跨域独立于为您的请求提供服务的后端服务器。所以不管服务器是IIS还是Linux,都一样。

    【讨论】:

    • 使用javascript的跨域调用当然是可能的,在所有浏览器中都在某种程度上。阅读 CORS 和 JSONP。
    • 我的意思是,默认情况下调用子域会导致跨域错误。但是,要进行跨域调用,您的服务器应将响应作为 JSONP 发送,否则标头应包含“Access-control-allow-origin”参数(我在上面的答案中忘记提及)。我的不好,以后我会用更好的方式来表达我的话。
    猜你喜欢
    • 2015-12-22
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 2013-09-03
    • 2012-02-28
    • 2018-03-13
    相关资源
    最近更新 更多