और आपको लगता था कि हमने XHR को बेहतर कर लिया है!
कुछ समय से XHR2 के ओवरलोड किए गए send()
तरीके से, ArrayBuffer
(रॉ बाइट कलेक्शन) भेजा जा सकता है.
Chrome 22 (मौजूदा कैनरी) में, इस सुविधा को बंद कर दिया गया है. इसके बजाय, ArrayBufferView
भेजने की सुविधा जोड़ी गई है. JS टाइप किए गए ऐरे, सिर्फ़ खास ArrayBufferView
होते हैं. इसका मतलब है कि अब टाइप किए गए ऐरे को सीधे तौर पर वायर पर भेजा जा सकता है. इसके लिए, आपको उसके बुफ़र को छूने की ज़रूरत नहीं है. यह बदलाव, XMLHttpRequest2 स्पेसिफ़िकेशन में हुए हाल ही के अपडेट के हिसाब से किया गया है.
उदाहरण के लिए, ArrayBuffer
भेजने के बजाय:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
var uInt8Array = new Uint8Array([1, 2, 3]);
xhr.send(uInt8Array.buffer);
सिर्फ़ टाइप किया गया ऐरे भेजें:
xhr.send(uInt8Array);
ArrayBuffers
भेजने की सुविधा को हटा दिया जाएगा. हालांकि, फ़िलहाल बफ़र भेजने की कोशिश करने पर, आपको कंसोल से चेतावनियां मिलेंगी.
हमेशा की तरह, chromestatus.com पर जाकर, इस तरह के बदलावों के बारे में जानकारी पाई जा सकती है.