mmssaann
mmssaann

Reputation: 1507

synchronous ajax calls from jquery to mvc

I have to generate several graphs and each graph data I should get it from mvc controller.

so I am using the below jquery to do ajax calls from jquery to mvc

 $(".emailgraphs").each(function () {
 YAHOO.Report.Print("Email", $(this).attr("responsefield"), $(this).attr("id"),     $(this).attr("metricid"));

}); 

 Print: function (name, graphid, divid, metricid) {
 try {
 $.ajax({
 type: "POST",
 contentType: "application/json; charset=utf-8",
 url: m_oReport.ds,
 data: JSON.stringify(m_oReport.printp(name, graphid, metricid)),
 beforeSend: function () {
 //Displays loading image before request send, till we get response.
 //$("#" + divId).addClass("loading");
 },
 success: function (data) {
 // if they define a success function (s), call it and return data to it.
 if (typeof m_oReport.prints === "function") {

 m_oReport.prints(data, divid, name)
 }
 },
 error: function (err) {
 $("#" + divid).html(err);
 }
 });
 }
 catch (err) { alert("catch"); }
 } 

The problem is the calls are asynchronous. sometimes I am getting one graph and sometime 2 like that and sometimes nothing.

Is there any fix for this?

Upvotes: 0

Views: 3760

Answers (1)

Milad Hosseinpanahi
Milad Hosseinpanahi

Reputation: 1505

try to use something like this

function getDataSync() {
    return $.ajax({
        type: "POST",
        url: remote_url,
        async: false,
    }).responseText;
}

Upvotes: 2

Related Questions