1

如果我有两个从 ajax 调用的函数,并且我想将第一个函数返回给另一个函数的变量传递给另一个函数,并且只使用一次

带有 returnResult() 函数 $.each() 的代码波纹管循环和一些 json 数据丢失,就像“labe”中没有文本一样:{}

 $.ajax({
          type: "POST",
          url: "WebService.asmx/MyEventData",
          data: "{}",
          dataType: "json",
          contentType: "application/json; charset=utf-8",
          success: function(data) {
          returnResult(data.d);  
         }

      });

       $.ajax({
          type: "POST",
          url: "WebService.asmx/Getlines",
          data: "{}",
          dataType: "json",
          contentType: "application/json; charset=utf-8",
          success: function(data) {
              lineReturn(data.d);
          }

      });



      });

      function lineReturn(result) {
      var jsonObj = [] ; 
      $.each(result, function(index, value) {
         jsonObj.push({ "value": value.dateTime, "color": '#D2691E', "width": 1,    "label": { "text": value.LineEvent} });
      });
      return JSON.stringify(jsonObj) ; << this is the return that should go to myline variable and be used on the highchart >>>> 

  }

      function returnResult(result) {
      console.log(result) ;
      var myLine = lineReturn(result) ;
      var datetemp = new Array ;
      var dateflow = new Array ;
      var datepressure = new Array;
      var datecond = new Array ; 
4

2 回答 2

2

尝试将第二个 ajax 调用放在第一个回调中。

$.ajax({
      type: "POST",
      url: "WebService.asmx/Getlines",
      data: "{}",
      dataType: "json",
      contentType: "application/json; charset=utf-8",
      success: function(dataA) {
           $.ajax({
               type: "POST",
               url: "WebService.asmx/MyEventData",
               data: "{}",
               dataType: "json",
               contentType: "application/json; charset=utf-8",
               success: function(dataB) {
                   // From here you can access both dataA.d and dataB.d
                   var myLineA = lineReturn(dataA.d);
                   var myLineB = lineReturn(dataB.d);
              }
           });
      }
});
于 2012-05-01T18:07:07.883 回答
1

您可以在第一个功能上启用第二个.success功能。

于 2012-05-01T18:08:47.230 回答