मैं कुछ अजाक्स का javascript ऑब्जेक्ट .:XMLHttpRequest: कैसे संदर्भ रखने के लिए "इस"
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
}
}
}
};
onreadystatechange समारोह के अंदर अंदर से कॉल करें, यह मुख्य उद्देश्य के लिए अब और का उल्लेख नहीं करता करने के लिए , इसलिए मुझे इस तक पहुंच नहीं है। foo। हो सकता है कि मैं XMLHttpRequest घटनाओं के अंदर मुख्य ऑब्जेक्ट का संदर्भ रखूं?
मैं दृढ़ता से जांच करने के लिए सिफारिश करेंगे यदि इसे बनाने से पहले 'Function.prototype.bind' विधि मौजूद है, क्योंकि यह ईसीएमएस्क्रिप्ट 5 वें संस्करण मानक का हिस्सा है और इसे सभी प्रमुख ब्राउज़र विक्रेताओं द्वारा कार्यान्वित किया जा रहा है, जल्द ही एक मूल कार्यान्वयन उपलब्ध होगा और आप नहीं चाहते हैं इसे अपने आप से ओवरराइड करें: [वेबकिट] (https: // bugs.webkit.org/show_bug.cgi?id=26382), [मोज़िला] (https://bugzilla.mozilla.org/show_bug.cgi?id=429507), [Google V8] (http://code.google .com/पी/v8/मुद्दों/विस्तार? id = 384)। – CMS