Javascript 将参数从函数传递到其回调函数
这是我的密码: 首先,程序的执行在这里:Javascript 将参数从函数传递到其回调函数,javascript,jquery,Javascript,Jquery,这是我的密码: 首先,程序的执行在这里: refreshTree(function() { $.ajax({ type: "POST", url: "/ControllerName/MethodName1", success: function (data) { refresh(); }
refreshTree(function() {
$.ajax({
type: "POST",
url: "/ControllerName/MethodName1",
success: function (data) {
refresh();
}
});
});
以下是refreshTree()
的定义:
下面是refresh()
方法:
function refresh() {
if (isOk) {
//do something
}
}
问题是,我不知道如何在
refresh()
中获取isOk
变量。是否有方法将变量发送到refresh()
,而不将其作为全局变量?您可以在此处的闭包中捕获它:
refreshTree(function(isOk) {
$.ajax({
type: "POST",
url: "/ControllerName/MethodName1",
success: function (data) {
refresh(isOk);
}
});
});
把它传过来:
function refreshTree(callback) {
var isOk = true;
$.ajax({
type: "GET",
url: "/ControllerName/MethodName2",
success: function(data) {
if (data == 'True') {
isOk = false;
}
callback(isOk);
}
});
}
在这里:
function refresh(isOk) {
if (isOk) {
//do something
}
}
您可以在此处的闭包中捕获它:
refreshTree(function(isOk) {
$.ajax({
type: "POST",
url: "/ControllerName/MethodName1",
success: function (data) {
refresh(isOk);
}
});
});
把它传过来:
function refreshTree(callback) {
var isOk = true;
$.ajax({
type: "GET",
url: "/ControllerName/MethodName2",
success: function(data) {
if (data == 'True') {
isOk = false;
}
callback(isOk);
}
});
}
在这里:
function refresh(isOk) {
if (isOk) {
//do something
}
}
只需将其作为参数传递:
refreshTree(function(status) {
$.ajax({
type: "POST",
url: "/ControllerName/MethodName1",
success: function (data) {
refresh(status);
}
});
});
refreshTree()函数:
function refreshTree(callback) {
var isOk = true;
$.ajax({
type: "GET",
url: "/ControllerName/MethodName2",
success: function(data) {
var isOk=true;
if (data == 'True') {
isOk = false;
}
callback(isOk);
}
});
}
Refresh()方法:
只需将其作为参数传递:
refreshTree(function(status) {
$.ajax({
type: "POST",
url: "/ControllerName/MethodName1",
success: function (data) {
refresh(status);
}
});
});
refreshTree()函数:
function refreshTree(callback) {
var isOk = true;
$.ajax({
type: "GET",
url: "/ControllerName/MethodName2",
success: function(data) {
var isOk=true;
if (data == 'True') {
isOk = false;
}
callback(isOk);
}
});
}
Refresh()方法:
“是否有方法将变量发送到refresh(),而不将其作为全局变量?”只需将值作为参数传递给回调。定义回调/函数以接受参数。为什么不能将其作为参数传递给
refresh
函数?“是否有方法将变量发送到refresh(),而不将其作为全局变量?”只需将值作为参数传递给回调。定义回调/函数以接受参数。为什么不能将其作为参数传递给refresh
函数?