将 GET 数据从一个函数传递到另一个函数
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。哪一个最好取决于您的使用情况。
我正在尝试将一些数据从一个函数传递到另一个函数。我已成功调用 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。哪一个最好取决于您的使用情况。