我试图在jQuery中设置一个回调,正确地将“this”绑定到调用对象。具体来说,这是我正在使用的代码。我正在这样的对象中进行ajax调用:
Object.prototype.doAjaxCall = function(url)
{
$.get(url, null, this.handleAjaxResponse );
}
但是,在Object.prototype.doAjaxCall
中,this
并未引用正确的内容。我之前使用过Prototype,我知道你需要在执行Ajax调用时绑定它,但我似乎无法在jQuery中找到正确的方法。有人能指出我正确的方向吗?
答案 0 :(得分:2)
使用jQuery ajax context
属性绑定此属性。例如:
$.ajax({
context: this,
url: url,
type: 'GET'
}).done( function(data, textStatus, jqXHR) {
this.handleAjaxResponse();
});
答案 1 :(得分:1)
更强大的本机绑定功能应该是ECMAScript 3.1的一部分。在此期间......
Object.prototype.doAjaxCall = function(url) {
var bind = function(context, method) {
return function() {
return method.apply(context, arguments);
};
};
$.get(url, null, bind(this, this.handleAjaxResponse));
};