Ajax函数之后,Count变量被重置为NULL了?

Hi 我有一个函数,它需要根据用户的输入执行一定次数的操作。

(e.g)
 var count=  $('#count').val();//user defined value
 for (var i = 0; i < count; i++) {
                GenerateData();

                  }
 function GenerateData() {
    $.ajax({

        type: "POST", //GET or POST or PUT or DELETE verb
        url: url, // Location of the service
        data: "{}", //Data sent to server
        contentType: "application/json; charset=utf-8", // content type sent to server
        dataType: "json", //Expected data format from server
        processdata: true, //True or False
        success: function (msg) {//On Successfull service call
            ServiceSucceeded(msg);
        },
        error: ServiceFailed// When Service call fails

    });
 }
   function ServiceSucceeded(result) {
  alert("Data generated successfully");
 }

但是在执行Ajax函数之后,Count变量被重置为NULL了。因此,无论输入什么,程序只执行一次——我被困在这里很久了,因此,任何帮助都将感激不尽。d

Try this:

 var count=  $('#count').val();//user defined value
 for (var i = 0; i < count; i++) {
     GenerateData(i);
 }

 function GenerateData(i) {
     $.ajax({

        type: "POST", //GET or POST or PUT or DELETE verb
        url: url, // Location of the service
        async: false, // here you make the call synchronous, which means that you are waiting for       respone
        cache: false,
        data: "{}", //Data sent to server
        contentType: "application/json; charset=utf-8", // content type sent to server
        dataType: "json", //Expected data format from server
        processdata: true, //True or False
        success: function (msg) {//On Successfull service call
            ServiceSucceeded(msg);
        },
        error: ServiceFailed// When Service call fails

    });
 }