Javascript 使用两种不同的ajax调用

Javascript 使用两种不同的ajax调用,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我有两个不同的ajax调用。第一个连接到web服务的一个方法。如果它为特定字段获取任何空值,那么它应该从同一web服务调用另一个方法。这是密码 $.ajax({ url: "webservices/ProdMonitorService.asmx/GetEstTimePrelimFinalCur", data: "{'myactivity':'" + myactivity + "'}", dataType: "json", type: "POST", contentType: "applicati

我有两个不同的ajax调用。第一个连接到web服务的一个方法。如果它为特定字段获取任何空值,那么它应该从同一web服务调用另一个方法。这是密码

$.ajax({
url: "webservices/ProdMonitorService.asmx/GetEstTimePrelimFinalCur",
data: "{'myactivity':'" + myactivity + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
async: true,
success: function (data) {
    var obj = jQuery.parseJSON(data.d);

 for (var i = 0; i <= obj.length - 1; i++) {



        var dur_time_formated = '';

        var mytimedur = obj[i].time_duration;

        if (mytimedur != null) {

            dur_time_formated = mytimedur.replace('.000000', '');
        }

        else {
            //only one time check for this

            $.ajax({
                url: "webservices/ProdMonitorService.asmx/GetEstTimePrelimFinalCurTotalProcessing",
                data: "{'myactivity':'" + myactivity + "'}",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                async: true,
                success: function (data2) {
                    var obj2 = jQuery.parseJSON(data2.d);

                    dur_time_formated =  obj2[0].total_processtime.replace('.000000', '');

                   }, error: function (result) {
                    //alert("Error: Please contact administrator for help: " + result.responseText);
                }
            });


        }
$.ajax({
url:“webservices/ProdMonitorService.asmx/GetEstTimePrelimFinalCur”,
数据:“{'myactivity':'”+myactivity+“}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
async:true,
成功:功能(数据){
var obj=jQuery.parseJSON(data.d);

for(var i=0;i请记住ajax调用是异步的。这意味着将在for循环之后设置dur\u time\u formatted。因此,要解决此问题,您可以使用循环外的任何数组变量或同步ajax请求,您应该尝试“async:false”而不是“async:true”这里。这将适用于您的情况。

首先感谢您的回答。您的意思是,我应该使用var dur_time_formatted=new Array();或者简单的var dur_time_formatted=[],而不是使用var dur_time_formatted='';在没有真实数据的情况下准确地说你有点复杂。如果第二个ajax请求是同步的会更好。因为不知道请求何时完成,所以你不知道什么时候可以使用对象。在第一个ajax调用还是第二个ajax调用中?