gpt4 book ai didi

javascript - 如何在 IE8 中使用 Ajax 将图像发送到 .net Webservice?

转载 作者:行者123 更新时间:2023-11-28 01:05:18 25 4
gpt4 key购买 nike

以下帖子相关于:How to send image to PHP file using Ajax?

我设法按照上面的帖子让它工作,但它无法在 IE8 上工作。

有没有办法让它在 ie8+ 上工作?

这是我的代码:

$("form[name='uploader']").submit(function(e) {
var formData = new FormData($(this)[0]);

$.ajax({
url: dotnetpage,
type: "POST",
data: formData,
async: false,
success: function (msg) {
$('.js-ugc-image').attr('src', msg);
},
cache: false,
contentType: false,
processData: false
});

e.preventDefault();
});

最佳答案

IE 8没有formdata,您可以使用隐藏的iframe并发布它并读取结果。我使用过类似这样的技术克隆表单,将原始表单移动到隐藏的 iframe 中(需要这样做,因为您无法在 IE 上克隆或设置输入类型文件值),然后提交并读取提交结果。

类似这样的代码,我之前使用过并且有效:

var $form = $('your form');//GET YOUR FORM

//Create Hidden iframe
var _hiddenIframe = $('<iframe id="_hiddenframe" style="display:none;"></iframe>');

//Create Copy Form and add the attributes of the original
var _copyForm = $('<form id="_copyForm" name="_copyForm" style="">');
_copyForm.attr({'method':$form.attr('method'),'action':$form.attr('action'), 'enctype':$form.attr('enctype')});

//Get original fields
$original = $form.children('*');

//Clone and append to form
$original.clone(true).appendTo($form);

//send the original fields to hidden form
$original.appendTo(_copyForm);

//Add the iframe to the body
_hiddenIframe.appendTo('body');

//Add the form to the hidden iframe
_copyForm.appendTo(_hiddenIframe.contents().find('body'));

var $r;

//submit the form
_copyForm.submit();

//after it reloaded(after post)
_hiddenIframe.on('load',function(){
//read result (maybe a json??)
$r = $.parseJSON(_hiddenIframe.contents().find('body').text());
//Do something with the result
if($r.result=='ok'){
//Do Something if ok
}
else{
//Do Something if error
}
});

关于javascript - 如何在 IE8 中使用 Ajax 将图像发送到 .net Webservice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25156406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com