How do I call a web service from javascript

做~自己de王妃 提交于 2019-12-29 03:40:08

问题


Say I have a web service http://www.example.com/webservice.pl?q=google which returns text "google.com". I need to call this web service (http://www.example.com/webservice.pl) from a JavaScript module with a parameter (q=google) and then use the return value ("google.com") to do further processing.

What's the simplest way to do this? I am a total JavaScript newbie, so any help is much appreciated.


回答1:


Take a look at one of the many javascript libraries out there. I'd recommend jQuery, personally. Aside from all the fancy UI stuff they can do, it has really good cross-browser AJAX libraries.

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



回答2:


EDIT:

It has been a decade since I answered this question and we now have support for cross-domain XHR in the form of CORS.

For any modern app consider using fetch to make your requests. If you need support for older browsers you can add a polyfill.

Original answer:

Keep in mind that you cannot make requests across domains. For example, if your page is on yourexample.com and the web service is on myexample.com you cannot make a request to it directly.

If you do need to make a request like this then you will need to set up a proxy on your server. You would make a request to that proxy page, and it will retrieve the data from the web service and return it to your page.



来源:https://stackoverflow.com/questions/118565/how-do-i-call-a-web-service-from-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!