2011-08-03 13 views
1

データを返すajax関数があります。私が必要とするのは、別の関数をパラメータとして使用することです。実際に私は以下のようなことをしましたが、それは働きません。私はajaxDataRendererの戻り値が必要です。どうやってやるの ?事前にJqueryで別の関数をパラメータとして使用するための戻り値の取得方法

$(document).ready(function() { 

     var ajaxDataRenderer = function (url) { 
      var ret = null; 
      $.ajax({ 
       async: false, 
       url: url, 
       dataType: "json", 
       success: function (data) { 
        ret = data; 
       } 
      }); 
      return ret; 
     }; 

     // The url for our json data 
     var jsonurl = "Service/test.aspx"; 

     var plot2 = $.jqplot('chart2', ajaxDataRenderer(jsonurl)); 

    }); 

おかげで、

答えて

0

AJAXリクエストが非同期であるので、あなたはこれを行うことはできません。この質問は前に何度も頼まれました:How to return value from $.getJSON

0

あなたは成功コールバックの内側に「jqplot」関数を呼び出すことができます -

success: function (data) { 
    ret = data; 
    var plot2 = $.jqplot('chart2', data); 
} 
1

どのように実際の非同期AJAXを使用してについて:

var ajaxDataRenderer = function (url, successHandler) { 
    $.ajax({ 
     url: url, 
     dataType: "json", 
     success: successHandler 
    }); 
}; 

$(document).ready(function() { 
    // The url for our json data 
    var jsonurl = "Service/test.aspx"; 
    ajaxDataRenderer(jsonurl, function(data) { 
     var plot2 = $.jqplot('chart2', data); 
    }); 
}); 
関連する問題