【发布时间】:2012-06-12 01:39:03
【问题描述】:
我正在构建一个可以发布的应用程序,但是我在我的 ajax 调用中遇到了跨域脚本问题。
我使用的是 IIS7.5,并且我有以下应用程序设置
营销应用程序 - 'www.mydomain.com' - 用作营销网站和注册新业务。我有一个规则强制任何非 www。成为www
业务应用程序 - 'https://newbusiness.mydomain.com' - 用于访问他们订阅的服务
API 应用程序 - 'https://newbusiness.mydomain.com/api/.......' - 用于业务应用程序进行 crud 操作
API 应用程序是在业务应用程序下运行的应用程序。包含许多安全方法和一些匿名方法。
使用 jquery,我的营销应用程序尝试调用 api 应用程序时遇到问题。目前,如果我想从我的营销网站调用 api,我正在执行类似“https://api.mydomain.com/api/whatevermethod”之类的操作,因为它是跨域失败的。
无论如何我可以以某种方式将“https://api.mydomain.com/api/whatevermethod”映射为“https://mydomain.com/api/whatevermethod”,因为这会让我绕过十字架域问题。
【问题讨论】:
-
我不认为这是跨域问题,因为只要 Web 服务允许外部调用者,Jquery ajax 就可以从任何 url 请求任何数据。是您的 www 规则仅在 www.mydomain.com 站点或整个 iis 上。如果它在 IIS 上,那么 newbusiness.mydomain.com/api 可能会被重定向到 newbusiness.mydomain.com/api。当您在 chrome 历史调试选项卡中调试 post 表单 jquery 或在 firefox 中的 firebug 时,ajax 调用的状态和错误是什么?
-
您好尝试将此行添加到您的 web.config 文件中。它支持跨域 Ajax 请求。
标签: asp.net-mvc-3 iis cross-domain iis-7.5