修复上传组件问题
This commit is contained in:
@@ -13,9 +13,9 @@ jQuery.extend({
|
||||
createUploadIframe: function (id, uri) {
|
||||
//create frame
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var io;
|
||||
|
||||
if (window.ActiveXObject) {
|
||||
io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
|
||||
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
|
||||
if (typeof uri == 'boolean') {
|
||||
io.src = 'javascript:false';
|
||||
}
|
||||
@@ -59,6 +59,7 @@ jQuery.extend({
|
||||
s = jQuery.extend({}, jQuery.ajaxSettings, s);
|
||||
var id = s.fileElementId;
|
||||
var form = jQuery.createUploadForm(id, s.fileElementId);
|
||||
var io = jQuery.createUploadIframe(id, s.secureuri);
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var formId = 'jUploadForm' + id;
|
||||
// Watch for a new set of requests
|
||||
@@ -72,7 +73,7 @@ jQuery.extend({
|
||||
jQuery.event.trigger("ajaxSend", [xml, s]);
|
||||
// Wait for a response to come back
|
||||
var uploadCallback = function (isTimeout) {
|
||||
var io = document.getElementById(frameId);
|
||||
io = document.getElementById(frameId);
|
||||
try {
|
||||
if (io.contentWindow) {
|
||||
xml.responseText = io.contentWindow.document.body ? io.contentWindow.document.body.innerHTML : null;
|
||||
@@ -145,6 +146,7 @@ jQuery.extend({
|
||||
}, s.timeout);
|
||||
}
|
||||
try {
|
||||
// var io = $('#' + frameId);
|
||||
form = $('#' + formId);
|
||||
$(form).attr('action', s.url);
|
||||
$(form).attr('method', 'POST');
|
||||
@@ -173,23 +175,32 @@ jQuery.extend({
|
||||
uploadHttpData: function (r, type) {
|
||||
var data = !type;
|
||||
data = type == "xml" || data ? r.responseXML : r.responseText;
|
||||
console.log(data);
|
||||
// If the type is "script", eval it in global context
|
||||
if (type == "script")
|
||||
jQuery.globalEval(data);
|
||||
// Get the JavaScript object, if JSON is used.
|
||||
if (type == "json")
|
||||
data = r.responseText;
|
||||
var temp;
|
||||
var start = data.indexOf(">");
|
||||
if (start != -1) {
|
||||
var end = data.indexOf("<", start + 1);
|
||||
let end = data.indexOf("<", start + 1);
|
||||
if (end != -1) {
|
||||
data = data.substring(start + 1, end);
|
||||
temp = data.substring(start + 1, end);
|
||||
}
|
||||
}
|
||||
if (!temp) {
|
||||
start = data.indexOf("{");
|
||||
temp = data.substring(start, data.lastIndexOf("}") + 1);
|
||||
}
|
||||
data = temp;
|
||||
eval("data = " + data);
|
||||
// evaluate scripts within html
|
||||
if (type == "html")
|
||||
jQuery("<div>").html(data).evalScripts();
|
||||
//alert($('param', data).each(function(){alert($(this).attr('value'));}));
|
||||
return data;
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user