【发布时间】:2013-04-06 11:10:21
【问题描述】:
我在 JavaScript 和 jQuery 中有以下代码以及集成的 ajax 请求。
问题:为什么可以调用内部函数success1(),但不能调用this.success2()?有针对此问题的解决方案建议吗?
function myfuntion() {
this.url = "www.example.com/ajax.php";
var success1 = function (data) {
alert("SUCCESS1");
}
this.success2 = function (data) {
alert("SUCCESS2");
}
this.send = function () {
$.ajax({
type: "POST",
url: this.url,
dataType: "html"
}).done(function (data) {
success1(data);
this.success2(data);
});
}
}
var test = new myfunction().send();
【问题讨论】:
-
因为在回调内部,
this引用了另一个对象。 -
您可能想查看stackoverflow.com/questions/3127429/javascript-this-keyword 的公认答案,以获得对 JavaScript 'this' 的出色解释
标签: javascript jquery