ASP.NET可以将ajax调用重定向到其他Web服务吗?

时间:2011-06-21 17:32:30

标签: asp.net web-services redirect

我们有AJAX脚本来帮助“收集”数据以呈现我们的网页。一些数据将来自不同的Web服务。现在浏览器不允许我们直接向另一个Web服务(必须匹配模式,主机和端口)进行AJAX调用。解决它的一种方法是让AJAX调用本地Web服务(或类似的东西),然后将调用重定向到另一个Web服务。这在ASP.NET上可行吗?有人提到虚拟目录,但我没有找到任何样本。

2 个答案:

答案 0 :(得分:1)

当然,这被称为代理(或者,如果您使用的是JSON,它可以是JSONP),并且它与平台无关。

以下是它的工作原理:

  1. 浏览器向您控制的同一域发出Ajax请求,例如/AjaxProxy.aspx
  2. 您在AjaxProxy.aspx上有一个ASP.NET页面,该页面使用一些参数调用Web服务
  3. AjaxProxy.aspx将Web服务调用的结果吐出到Response.Output(否则您选择在页面上显示它)
  4. 浏览器接收这些内容,您就可以像调用实际的Web服务一样使用它。

答案 1 :(得分:1)

是。场景将是这样的:

  1. 浏览器通过AJAX
  2. 在ASP.NET上调用Web服务
  3. ASP.NET调用另一个Web服务(通过JSON / XML等)
  4. ASP.NET解析响应然后响应浏览器
  5. 这是一个如何在ASP.NET中使用其他Web服务的简单示例:http://www.asp.net/general/videos/how-do-i-create-and-call-a-simple-web-service-in-aspnet