[英]Passing GET data from one function to another
我正在尝试将一些数据从一个函数传递到另一个函数。 我已经成功拨打了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
吗?
只需在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);
});
}
仅从success:
函数中调用changeColor()
函数。
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;
线,这没有意义。
您可以将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);
}
});
}
您基本上有两个选择:从成功函数中调用changeColor函数,或者在成功函数中将数据存储在可以在其他位置访问的变量中(可以直接通过changeColor或传递到changeColor中)。
第二个选项可以通过访问全局变量(不是一个好主意)或传入一个对象然后将其传递到changeColor中来实现。 哪一个最好取决于您的使用情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.