将GET数据从一个函数传递到另一个函数

时间:2016-01-09 22:08:21

标签: javascript json object http-get

我试图将一些数据从一个函数传递到另一个函数。我已经成功完成了AJAX调用并获得了数据。但我现在无法弄清楚如何将这些数据传递给另一个函数。

'use strict'

$(document).ready(function() {
    console.log('Page Ready');

    changeColor();
    getData();
});


function getData(data) {
    var root = 'http://jsonplaceholder.typicode.com',
    data;

    data = $.ajax ({
        url: root + '/posts/1',
        type: 'GET',
        success: function(data) {
            console.log(data.body);
        }
    });
}

function changeColor(data) {
    $('button').on('click', function() {
        $('.classy').toggleClass('blue');
        $('.classy').append(data.body);
    });
}

是否有人可以建议我如何从getData获取数据并将其传递给changeColour

4 个答案:

答案 0 :(得分:0)

只需在ajax成功中调用changeColor方法并传递数据即可。从getData中删除了数据变量,因为不需要它。

'use strict'

$(document).ready(function() {
    console.log('Page Ready');

    changeColor();
    getData();
});


function getData() {
    var root = 'http://jsonplaceholder.typicode.com';

    $.ajax ({
        url: root + '/posts/1',
        type: 'GET',
        success: function(data) {
            console.log(data.body);
            changeColor(data); //Just call the method here
        }
    });
}

function changeColor(data) {
    $('button').on('click', function() {
        $('.classy').toggleClass('blue');
        $('.classy').append(data.body);
    });
}

答案 1 :(得分:0)

仅从changeColor()函数调用success:函数。

function getData(data) {
    var root = 'http://jsonplaceholder.typicode.com',
    data = $.ajax ({
        url: root + '/posts/1',
        type: 'GET',
        success: function(data) {
            console.log(data.body);
            changeColor(data);
        }
    });
}

请注意,我删除了简单的data;行,这没有任何意义。

答案 2 :(得分:0)

您可以将changeColor函数放入getData函数的成功调用中。

function getData(data) {
    var root = 'http://jsonplaceholder.typicode.com',
    data;

    data = $.ajax ({
    url: root + '/posts/1',
        type: 'GET',
        success: function(data) {
            console.log(data.body);
            changeColor(data);
        }
    });
}

答案 3 :(得分:0)

你基本上有两个选择:在success函数中调用changeColor函数,或者在success函数中将数据存储在一个可以在别处访问的变量中(直接通过changeColor或传递给changeColor)。

第二个选项可以通过访问全局变量(实际上并不是一个好主意)或传入一个然后传递给changeColor的对象来实现。哪一个最好取决于你的用法。