13

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!

user48408
  • 3,234
  • 11
  • 39
  • 59

4 Answers4

10

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

$.ajax({
  async: false/true,
  //more options
});
peirix
  • 36,512
  • 23
  • 96
  • 126
6

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
  • 316,276
  • 54
  • 369
  • 333
1

There is a "async" flag for making the ajax call synchronous or asynchronous. You can define it as:

$.ajax({ async: false/true, //rest of code });

Moulesh Kumar
  • 131
  • 2
  • 16
0

look this sample maybe help you

 xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
  document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  }
  }
  xmlhttp.open("GET","ajax_info.txt",true);
  xmlhttp.send();
Ashouri
  • 906
  • 4
  • 19