我正在尝试从 HTML 小部件内跨域调用 Web 服务。这似乎不起作用。它在同一域下运行得很好。我正在尝试在 Orchard 中创建一个登录页面,可用于登录另一个域上的我的软件。 Web 服务正在验证用户凭据并返回一个布尔值,然后该布尔值将生成用户身份验证。
我读到我可以使用 HTTP 处理程序或另一个 Web 服务(在 Orchard 端)来调用另一个域上的 Web 服务,但我对 MVC 或 Orchard 不够熟悉,无法执行此操作。如何将其中之一添加到我的 Orchard Web 应用程序中?
在所有主流浏览器中,客户端代码内的跨域调用都是禁忌。
你可以
- Use CORS, IE。放
Access-Control-Allow-Origin
标头至http://your-caller-domain.com
在 Web 服务响应中允许来自您网站域的请求
- Use JSONP技术
- 创建自定义代理API在您的应用程序中(使用简单的ASP.NET MVC 控制器 or a WebAPI一)将使用在服务器端执行调用
WebClient
类并将响应返回给您。
选项按从最好到最差的顺序排列。大多数浏览器都支持 CORS,除了 IE8/9(通过XDomainRequest
)和更老的。不过,有一些解决方法。
请注意,前两个涉及 Web 服务方面的更改 - 如果您做不到,则选项 3. 是唯一剩下的选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)