Bazı Ajax onreadystatechange fonksiyonu içinde bir javascript nesne .:XMLHttpRequest: referansı tutmak için nasıl "bu"
myObject.prototye = {
ajax: function() {
this.foo = 1;
var req = new XMLHttpRequest();
req.open('GET', url, true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200) {
alert(this.foo); // reference to this is lost
}
}
}
};
içinden arama yapmak, bu artık ana nesne ifade etmez etmek bu yüzden buna erişemiyorum. Ho referansı XMLHttpRequest olayları içindeki ana nesneye taşıyabilir miyim?
şiddetle kontrol etmek öneriyoruz "Function.prototype.bind" yöntemi, oluşturmadan önce var ise, ECMAScript 5. Baskı Standardının bir parçası olduğu ve tüm büyük tarayıcı satıcıları tarafından uygulandığı için, yakında yerel bir uygulama mevcut olacak ve kendi başınıza geçersiz kılın: [WebKit] (https: // bugs.webkit.org/show_bug.cgi?id=26382), [Mozilla] (https://bugzilla.mozilla.org/show_bug.cgi?id=429507), [Google V8] (http://code.google .com/p/v8/sorunlar/detay? id = 384). – CMS