User:Cacycle/wikEd dev.js: Difference between revisions

Content deleted Content added
testing
test3
Line 14,678:
 
var request;
var bodyDataheaders = ''{};
var formData;
 
// prepare POST request
// generate body data from form field object
var headerName = null;
var headerValue = null;
var bodyData = '';
if (requestMethod == 'POST') {
 
// assemble string body
//create boundary
WED('typeof(FormData)', typeof(FormData));
var boundary = wikEd.CreateRandomString(12);
if (typeof(FormData) != 'function') {
 
// create boundary
var boundary = wikEd.CreateRandomString(12);
 
// POST header
headerValue headers['Content-Type'] = 'multipart/form-data; boundary=' + boundary;
headerName = 'Content-Type';
headerValue = 'multipart/form-data; boundary=' + boundary;
 
// assemble body data
bodyData formData += '\r\n';
for (var fieldName in postFields) {
if (postFields.hasOwnProperty(fieldName) == true) {
bodyData formData += '--' + boundary + '\r\n';
bodyData formData += 'Content-Disposition: form-data; name="' + fieldName + '"\r\n\r\n' + fieldValue postFields[fieldName] + '\r\n';
}
}
bodyData formData += '--' + boundary + '--\r\n';
// headers['Content-length'] = formData.length;///?
}
WED('formData string', formData);
}
 
// use FormData object
else {
formData = new FormData();
for (var fieldName in postFields) {
if (postFields.hasOwnProperty(fieldName) == true) {
var fieldValue =formData.append(fieldName, postFields[fieldName]);
bodyData += '--' + boundary + '\r\n';
bodyData += 'Content-Disposition: form-data; name="' + fieldName + '"\r\n\r\n' + fieldValue + '\r\n';
}
}
bodyData += '--' + boundary + '--\r\n';
}
 
// usesend the request using Greasemonkey GM_xmlhttpRequest
if (wikEd.greasemonkey == true) {
var headerObj = { headers['User-Agent':] = navigator.userAgent };
if (headerName != null) {
headerObj[headerName] = headerValue;
}
 
// workaround for Error: Greasemonkey access violation: unsafeWindow cannot call GM_xmlhttpRequest.
Line 14,718 ⟶ 14,729:
'url': requestUrl,
'overrideMimeType': overrideMimeType,
'headers': headerObjheaders,
'data': bodyDataformData,
'onreadystatechange':
function(ajax) {
Line 14,742 ⟶ 14,753:
}
 
// newcreate ajaxnew requestXMLHttpRequest object
if (typeof(XMLHttpRequest) == 'function') {
request = new XMLHttpRequest();
Line 14,767 ⟶ 14,778:
if (request == null) {
return;
}
}WED('requestMethod', requestMethod);WED('requestUrl', requestUrl);
 
// open the request
request.open(requestMethod, requestUrl, true);
if (headerName != null) {WED('headerNamerequestMethod', headerNamerequestMethod); WED('headerValuerequestUrl', headerValuerequestUrl);
 
request.setRequestHeader(headerName, headerValue);
// set the headers
for (var headerName =in headers) null;{
if (headers.hasOwnProperty(headerName) !== nulltrue) {
request.setRequestHeader(headerName, headerValueheaders[headerName]);
WED('Header: ' + headerName, headers[headerName]);
}
}
 
if ( (request.overrideMimeType != null) && (overrideMimeType != null) ) {WED('overrideMimeType', overrideMimeType);
// set the mime type
if ( (request.overrideMimeType != null) && (overrideMimeType != null) ) {WED('overrideMimeType', overrideMimeType);
WED('overrideMimeType', overrideMimeType);
request.overrideMimeType(overrideMimeType);
}
 
// send the request, catch security violations Opera 0.9.51
try {
request.send(bodyData);WED('bodyData', bodyDataformData);
}
catch(err) {
Line 14,784 ⟶ 14,806:
}
 
// wait for the data
request.onreadystatechange = function() {
if (request.readyState != 4) {
WED('request.readyState', request.readyState);
return;
}
}WED('request.responseText', request.responseText);
ResponseHandler(request);
return;