views:

201

answers:

2

At the moment I'm using the post method like this

$.ajax({
    type: "POST",
    url: "Servicename.asmx/DoSomeCalculation", 
  data: "{param1ID:"+ param1Val+"}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
     UseReturnedData(msg.d);
    },
    error: function(err) {
        alert(err.toString());
     if (err.status == 200) {
      ParseResult(err);
     }
     else { alert('Error:' + err.responseText + '  Status: ' + err.status); }
    }
});

Am I correct in believing that if I use a GET request instead of POST the behavior will change to being a synchronous request i.e. the execution will wait until the response has been received from the server??

Can somebody show me a jquery GET example calling a webmethod of a web service directly?

UPDATE: Using the async flag as suggested below is really all i needed to do so this works for me. I'm still curious as to what work needs to be done to the code above to make it a GET request. Changing type: "GET" doesn't have the desired effect!

+1  A: 

To answer your first point, no: GET and POST are independent of synchronous / asynchronous.

You can use the boolean async method to control this.

Greg
+3  A: 

You can decide if you want the ajax call to be async or not using this:

$.ajax({
  async: false/true,
  //more options
});
peirix