简体   繁体   中英

How do I call a web service from javascript

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.

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.

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"
    }
);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM