我需要通过asp.net应用程序中的页面调用跨域Web服务(.asmx)。用户将输入搜索查询,应用程序将在该查询中发送到Web服务,然后将使用数据更新页面。

我的问题是,如果没有回发,该怎么办?因为我只是尝试检索数据,而不是输入或操作数据。

我尝试的解决方案:
1.通过jquery的Ajax->问题:不支持CORS。
2. serviceReference(用于客户端服务调用),但这仅适用于本地(域上)服务
3.最后,我尝试使用updatepanel,其中将文本框中的值用于查询Web服务,但是显然这会强制执行部分回发,是否有办法让更新面板改用get req?如果没有,我会怎么做,因为我被卡住了!最后,如果使用ASP MVC结构,此解决方案会更容易吗?我在学习。谢谢。

最佳答案

创建一个ashx处理程序,该处理程序根据ajax传递的参数查询远程服务。
对ashx处理程序使用ajax请求,以通过jQuery AJAX调用代理。

或只使用Yahoo YQL代理:
Is there a free JSON proxy server which supports CORS or JSONP?

或者,如果Web服务支持JSONP,则可以直接使用JSONP

如果您需要自己创建代理,请按以下步骤操作:
http://www.codeproject.com/Articles/25218/Fast-Scalable-Streaming-AJAX-Proxy-continuously-de

07-24 09:44
查看更多