Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS类中,AJAX成功回调不断返回uncaughttypeerror,但方法已经定义,我不知道是什么';什么事_Javascript_Jquery_Ajax_Callback - Fatal编程技术网

Javascript 在JS类中,AJAX成功回调不断返回uncaughttypeerror,但方法已经定义,我不知道是什么';什么事

Javascript 在JS类中,AJAX成功回调不断返回uncaughttypeerror,但方法已经定义,我不知道是什么';什么事,javascript,jquery,ajax,callback,Javascript,Jquery,Ajax,Callback,我正在进行一个成功的AJAX调用,该调用返回数据,但我不断得到sortable.class.js:50 Uncaught ReferenceError:buildTabs未在成功处理中定义,我无法找出问题所在 有人知道这有什么问题吗 实例化并使用调用 const sortable=new sortable(); sortable.v2Test(); 课程(缩短) 类可排序{ 构造函数(){} v2Test(){ 这个.v2Tabs(); } buildTabs(数据集){ console.lo

我正在进行一个成功的AJAX调用,该调用返回数据,但我不断得到
sortable.class.js:50 Uncaught ReferenceError:buildTabs未在成功处理中定义,我无法找出问题所在

有人知道这有什么问题吗

实例化并使用调用

const sortable=new sortable();
sortable.v2Test();
课程(缩短)

类可排序{
构造函数(){}
v2Test(){
这个.v2Tabs();
}
buildTabs(数据集){
console.log('working');
}
v2Tabs(){
$.ajax({
键入:“GET”,
url:“/v2/tabs”,
contentType:'应用程序/json',
成功:功能(数据){
构建选项卡(数据);
},
});
}
}
====已传递函数的工作版本====

this.v2Icons(1,'tab1',this.processIcons)//呼叫
v2Icons(选项卡、targetElement、回调){
$.ajax({
键入:“GET”,
url:'/v2/icons/'+选项卡,
contentType:'应用程序/json',
成功:功能(数据){
回调(targetElement、data.icons、data.maxrow);
},
});
}
processIcons(targetElement、dataset、maxrow){
//大便
});

success
函数在没有引用的情况下没有对父对象方法的引用,要解决此问题,您可以使用默认情况下绑定到父对象的方法:

class Sortable {
    constructor() {}

    v2Test() {
        this.v2Tabs();
    }

    buildTabs(dataset) {
        console.log('working');
    }

    v2Tabs() {
        $.ajax({
            type: 'GET',
            url: '/v2/tabs',
            contentType: 'application/json',
            success: (data) => {
                this.buildTabs(data);
            },
        });
    }
}

函数在类中,您必须使用对实例的正确引用来调用它。谢谢。我甚至想到了这一点,并试图实现一个回调解决方案,我将在调用中传递函数,这在另一个AJAX成功中起作用,但在我尝试的几次中,我肯定犯了一个错误。我将把工作电话作为编辑添加到我的问题中。很高兴你能成功。将其添加为您以后可以接受的答案!