从ajax post响应中调用函数

时间:2014-06-13 18:49:03

标签: javascript php ajax

我使用的是使用javascript的图library。在使用另一个ajax脚本获取数据后,我必须运行此脚本。但是当我使用脚本时

    var request, response;

    var newUrl = url + '/thermometer/getLastHourData';
    var data =  $.ajax({
                    url: newUrl,
                    data: request,
                    dataType: "json",
                    method: "post",
                    success: function(data) {
                        drawGraph();
                        return data;
                    },
                    error: function() {
                        alert('Error occured');
                    }
            });

drawGraph函数也是

    google.load("visualization", "1");

    // Set callback to run when API is loaded
    google.setOnLoadCallback(drawVisualization);

    // Called when the Visualization API is loaded.
    function drawVisualization() {
        // Create and populate a data table.
        var data = new google.visualization.DataTable();
        data.addColumn('datetime', 'time');
        data.addColumn('number', 'Function A');
        data.addColumn('number', 'Function B');

        function functionA(x) {
            return Math.sin(x / 25) * Math.cos(x / 25) * 50 + (Math.random()-0.5) * 10;
        }

        function functionB(x) {
            return Math.sin(x / 50) *50 + Math.cos(x / 7) * 75 + (Math.random()-0.5) * 20 + 20;
        }

        // create data
        var d = new Date(2010, 9, 23, 20, 0, 0);
        for (var i = 0; i < 100; i++) {
            data.addRow([new Date(d), functionA(i), functionB(i)]);
            d.setMinutes(d.getMinutes() + 1);
        }

        // specify options
        var options = {
            "width":  "100%",
            "height": "350px"
        };

        // Instantiate our graph object.
        var graph = new links.Graph(document.getElementById('mygraph'));

        // Draw our graph with the created data and options
        graph.draw(data, options);
    }

(因为检查代码运行正常,我没有改变它所需要的)

drawGraph开始等待加载某个库的google.com但是当我使用drawGraph函数而没有从ajax函数调用时,它就像我在开头提到的链接一样工作。

如何在没有问题的情况下从ajax调用此图形函数?

1 个答案:

答案 0 :(得分:1)

我一点也不清楚你的问题在这里。但是,如果您遇到ajax的异步属性问题,只需修改您的ajax调用:

$.ajax({
      url: newUrl,
      data: request,
      async: false,

etc, etc, etc           

希望这有帮助。