ASP.NET能否将ajax调用重定向到其他web服务?

ASP.NET能否将ajax调用重定向到其他web服务?,asp.net,web-services,redirect,Asp.net,Web Services,Redirect,我们有AJAX脚本来帮助“收集”呈现网页的数据。一些数据将来自不同的web服务。现在浏览器不允许我们直接对另一个web服务进行AJAX调用(必须匹配模式、主机和端口)。解决这个问题的一种方法是让AJAX调用本地web服务(或类似的东西),然后将调用重定向到另一个web服务。这在ASP.NET上可行吗?有人提到虚拟目录,但我没有找到任何关于它的示例 当然,这称为代理(或者,如果您使用的是JSON,则可以是JSONP),并且它与平台无关 下面是它的工作原理: 浏览器向您控制的同一域的某处发出Ajax

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

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

下面是它的工作原理:

  • 浏览器向您控制的同一域的某处发出Ajax请求,例如/AjaxProxy.aspx
  • 您在AjaxProxy.aspx上有一个ASP.NET页面,该页面使用一些参数调用web服务
  • AjaxProxy.aspx将web服务调用的结果吐出到Response.Output(或者以您选择的方式在页面上显示)
  • 浏览器接收这些内容,您可以像调用实际的web服务一样处理这些内容

  • 对。一个场景是这样的:

  • 浏览器通过AJAX调用ASP.NET上的web服务
  • ASP.NET调用另一个web服务(通过JSON/XML…等)
  • ASP.NET解析响应,然后解析对浏览器的响应
  • 这是如何使用ASP.NET中的另一个web服务的简单示例: