क्या आपके ब्राउज़र अनुप्रयोग कार्यान्वयन के लिए XMLHttpRequest की प्रेषण विधि में उपयोग किए जा रहे स्ट्रिंग डेटा की लंबाई तक एक दस्तावेज अधिकतम है?XMLHttpRequest पोस्ट पर प्रेषण() डेटा पैरामीटर की अधिकतम लंबाई
मैं एक जावास्क्रिप्ट XMLHttpRequest पोस्ट के साथ किसी समस्या में भाग रहा हूं जब फ़ायरफ़ॉक्स 3 में विफल रहता है जब डेटा लगभग 3k से अधिक होता है। मैं मान रहा था कि पोस्ट एक पारंपरिक फॉर्म पोस्ट के समान व्यवहार करेगा।
डब्ल्यू 3 सी दस्तावेज़ों का उल्लेख है कि प्रेषण विधि का डेटा पैराम एक डोमस्ट्रिंग है लेकिन मुझे यकीन नहीं है कि प्रमुख ब्राउज़र इसे कैसे कार्यान्वित करते हैं।
यहाँ मेरी जावास्क्रिप्ट का एक सरलीकृत संस्करण है, अगर bigText से अधिक के बारे में 3k यह विफल रहता है अन्यथा यह काम करता है ...
var xhReq = createXMLHttpRequest();
function createXMLHttpRequest() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
function mySubmit(id, bigText) {
var url = "SubmitPost.cfm";
var params = "id=" + id + "&bigtext=" + encodeURI(bigText);
xhReq.open("POST", url, true);
//Send the header information along with the request
xhReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhReq.setRequestHeader("Content-length", params.length);
xhReq.setRequestHeader("Connection", "close");
xhReq.onreadystatechange = onPostSubmit;
xhReq.send(params);
}
function onPostSubmit() {
if (xhReq.readyState==4 || xhReq.readyState=="complete")
{
if (xhReq.status != 200)
{
alert('BadStatus');
return;
}
}
}