假设我有一个返回文字“google.com”的网络服务http://www.example.com/webservice.pl?q=google。我需要从带有参数(q = google)的JavaScript模块调用此Web服务(http://www.example.com/webservice.pl),然后使用返回值(“google.com”)进行进一步处理。
最简单的方法是什么?我是一个完整的JavaScript新手,所以非常感谢任何帮助。
答案 0 :(得分:14)
编辑:
自从我回答这个问题已经十年了,我们现在以CORS的形式支持跨域XHR。
对于任何现代应用,请考虑使用fetch发出请求。如果您需要支持旧版浏览器,可以添加polyfill。
原始回答:
请注意,您无法跨域提出请求。例如,如果您的网页位于yourexample.com,并且网络服务位于myexample.com,则您无法直接向其发出请求。
如果您确实需要提出这样的请求,那么您需要在服务器上设置代理。您将向该代理页面发出请求,它将从Web服务检索数据并将其返回到您的页面。
答案 1 :(得分:12)
看一下那里的众多JavaScript库之一。我个人推荐jQuery。除了他们可以做的所有花哨的UI内容之外,它还非常好cross-browser AJAX libraries。
$.get(
"http://xyz.com/webservice.pl",
{ q : "google" },
function(data) {
alert(data); // "google.com"
}
);