如何从javascript调用Web服务

Nik*_*hil 11 javascript web-services

假设我有一个Web服务http://www.example.com/webservice.pl?q=google,它返回文本"google.com".我需要从带有参数(q = google)的JavaScript模块调用此Web服务(http://www.example.com/webservice.pl),然后使用返回值("google.com")进一步执行此操作处理.

最简单的方法是什么?我是一个完整的JavaScript新手,所以任何帮助都非常感谢.

Pre*_*aul 14

编辑:

自从我回答这个问题已经十年了,我们现在支持CORS形式的跨域XHR .

对于任何现代应用程序,请考虑使用fetch来发出请求.如果您需要支持旧版浏览器,可以添加polyfill.

原始答案:

请注意,您无法跨域提出请求.例如,如果您的网页位于yourexample.com,并且网络服务位于myexample.com上,则您无法直接向其发出请求.

如果您确实需要提出这样的请求,那么您需要在服务器上设置代理.您将向该代理页面发出请求,它将从Web服务检索数据并将其返回到您的页面.


nic*_*ckf 12

看看那里的众多JavaScript库之一.我个人推荐jQuery.除了他们可以做的所有花哨的UI内容之外,它还有非常好的跨浏览器AJAX库.

$.get(
    "http://xyz.com/webservice.pl",
    { q : "google" },
    function(data) {
        alert(data);  // "google.com"
    }
);
Run Code Online (Sandbox Code Playgroud)