如何从JavaScript调用网络服务
时间:2020-03-06 14:34:31 来源:igfitidea点击:
假设我有一个Web服务http://www.example.com/webservice.pl?q=google,该服务会返回文本" google.com"。我需要使用参数(q = google)从JavaScript模块调用此网络服务(http://www.example.com/webservice.pl),然后使用返回值(" google.com")进行进一步操作加工。
最简单的方法是什么?我是JavaScript新手,因此非常感谢帮助。
解决方案
看看那里的许多JavaScript库之一。我个人会推荐jQuery。除了他们可以做的所有精美的UI事情外,它还有非常好的跨浏览器AJAX库。
$.get( "http://xyz.com/webservice.pl", { q : "google" }, function(data) { alert(data); // "google.com" } );
编辑:
自从我回答这个问题以来已经有十年了,我们现在已经以CORS的形式支持跨域XHR。
对于任何现代应用程序,请考虑使用提取来提出请求。如果我们需要对旧版浏览器的支持,则可以添加一个polyfill。
原始答案:
请记住,我们不能跨域发出请求。例如,如果页面位于yourexample.com上,而Web服务位于myexample.com上,则我们无法直接对其进行请求。
如果确实需要发出这样的请求,则需要在服务器上设置代理。我们将向该代理页面发出请求,它将从Web服务检索数据并将其返回到页面。