jQuery在对象方法中不起作用?

时间:2017-08-03 19:55:52

标签: javascript jquery ajax

举个例子:

function Schedule (foo) {
    this.foo = foo;

    this.bar = function() {
        $.ajax({
            url: '/something/',
            method: "GET",
            dataType: "JSON"
        }).done (function(data){
            console.log(data);
        });
    }
}

似乎$.ajax()不会在此原型方法的方法上下文中触发。我怀疑这是一个功能,而不是一个bug。但是,我想避免手动进行这个AJAX调用(我宁愿使用jQuery方法)。

有没有办法让这项工作?或者我将不得不这样做the old fashioned way?

1 个答案:

答案 0 :(得分:0)

原来$(语法糖)正在打破它。

更改它以“直接”调用jQuery修复它:

function Schedule (foo) {
    this.foo = foo;

    this.bar = function() {
        jQuery.ajax({
            url: '/something/',
            method: "GET",
            dataType: "JSON"
        }).done (function(data){
            console.log(data);
    });
}

}