에서 콜백 이후에 정의되어 있지 않습니다 나는 다음과 같은 JS는 니펫을했다 :
그것은 항상 곁에있어<script language="javascript">
function test() {
this.a = 10;
};
test.prototype.next = function() {
alert('before: ' + this.a);
$.ajax({
url: 'some-url',
async: true,
type: 'POST',
dataType: 'json',
success: this.callback
});
};
test.prototype.callback = function() {
alert('after: ' + this.a);
};
$(document).ready(function() {
var test1 = new test();
test1.next();
});
</script>
는 결과를 생성 : 하기 전에 : 10 후 : UNDEFINE합니다.
$ .post의 콜백 함수에서 클래스의 속성이 정의되지 않은 이유는 무엇입니까? 누구든지 나를 도울 수 있을까? 고마워.
을 할 것입니다 그리고이 바인더 (이 그것에 대해 jQuery를 내장 아무것도?) 당신은 또한 다음과 같이 작성할 수 있습니다 :'성공 : 바인더 (이. 콜백,이)'. – Thilo
JQuery에서 사용할 수있는 것이 있는지 확실하지 않습니다. 내 프로젝트에서 이런 식으로하고있다 –
클로저에서 인수를 포착해서는 안된다. 당신이 가지고있는 것처럼 논쟁이 비어있는 것처럼 보입니다. – fncomp