如何使javaScript事件按顺序/序列执行

| 我正在使用prototype.js。 这是我的代码:
Event.observe(document, \'dom:loaded\', function() {
    new Ajax.Request(\'/HumblFin/Serv\',
        {
         method:\'get\',
         onSuccess: function(transport){

    var data = transport.responseText.evalJSON();

        drawChart(data);
           },
         onFailure: function(){ alert(\'Something went wrong...\') }
        });
function drawChart(data)
{
     for (var i = 0; i < data.jobs.length; i++)  { 
         priceData.push([i, data.jobs[i].INCPU]);
         dateData.push(data.jobs[i].Dater);
        }

}

HumbleFinance.init(\'finance\', priceData , dateData);
HumbleFinance.init(\'finance\', priceData , dateData);
负责显示图表。 问题是,HumbleFinance.init的调用早于AJAX调用,因此其显示为空图表。 请告诉我如何将Ajax调用返回的数据提供给函数
HumbleFinance.init(\'finance\', priceData , dateData);
已邀请:
不知道
data
是什么以及它与
HumbleFinance.init
有什么关系,只是将函数调用放在回调中:
Event.observe(document, \'dom:loaded\', function() {
    new Ajax.Request(\'/HumblFin/Serv\', {
         method:\'get\',
         onSuccess: function(transport){
            var data = transport.responseText.evalJSON();
            HumbleFinance.init(\'finance\', priceData , dateData);
            drawChart(data);
         },
         onFailure: function(){ alert(\'Something went wrong...\') }
    });
});
值得注意的是,如果请求的
Content-type
设置为
application/json
,则原型会自动评估JSON。 您可以
var data = transport.responseJSON;
的价格访问

要回复问题请先登录注册