如何在JavaScript函数中输入函数?
所以,我试图为我所做的每个jQueryAjax调用创建一个函数,但我遇到了一个问题。通过success调用,它运行传递的函数,但是我需要函数中的“onsuccess”。简化JS:如何在JavaScript函数中输入函数?,javascript,Javascript,所以,我试图为我所做的每个jQueryAjax调用创建一个函数,但我遇到了一个问题。通过success调用,它运行传递的函数,但是我需要函数中的“onsuccess”。简化JS: function ajaxCall(namef, dataf, onscss) { //do ajax stuff onsuccess: run(onscss) } ajaxCall("foo", "bar", function(){ //do code })
function ajaxCall(namef, dataf, onscss) {
//do ajax stuff
onsuccess: run(onscss)
}
ajaxCall("foo", "bar", function(){
//do code
})
那我该怎么做呢?我有这个问题已经有一段时间了,所以一个答案将是非常有帮助的 只需将
onscss
的值作为success:
选项的值传递给jQuery.ajax()
调用
function ajaxCall(namef, dataf, onscss) {
$.ajax({
// ... other options
success: onscss
});
}
如果需要处理参数,可以使用一个匿名函数调用onscss()
AJAX调用和大多数其他api/数据获取函数都是异步操作,因此当我们从AJAX调用中得到响应时,需要调用onsuccess函数。 在这里,我建议您将onsuccess定义为一个函数,然后使用.then/catch来处理onsuccess的调用
function onsuccess(){
//what you want to do when you get a successful request
}
//make your AJAX call here
AJAX()
.then(()=>{
onsuccess()
}).catch(()=>{
console.log("there was an error making the AJAX call")
})
你需要包括一个更完整的你的问题的例子。什么是<代码> Run()/<代码>?这只是一个例子。然后我建议你考虑一下为什么会这样。如果您没有提供所做的逻辑,我们无法检查您的代码以确定您做错了什么。否则的期望是没有意义的。所以你应该阅读并创建一个
function onsuccess(){
//what you want to do when you get a successful request
}
//make your AJAX call here
AJAX()
.then(()=>{
onsuccess()
}).catch(()=>{
console.log("there was an error making the AJAX call")
})