jQuery不能在IE11中工作,但可以在Chrome中工作
jQuery does not work in IE11, but works in Chrome
我对jQuery有问题。当我在Chrome中上传图像时,它成功地执行AJAX,并且我能够使用响应数据更新页面。但在IE 11和Firefox中却没有。代码:
$(".newfoto").on('submit', (function(e) {
$("#mailresult").html('<img src="themes/standart/iconss/spin1.gif" alt="loading..." /><p>Please, wait...</p>');
e.preventDefault();
$.ajax({
url: "dataok.php?act=foto",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(data) {
$("#mailresult").html(data);
setTimeout(function() {
$("#mailresult").empty();
}, 2000);
var imgTag = '<img src="image.php?imgid=' + escape($('.myphoto').attr('id')) + '" />';
$('.myphoto').html(imgTag);
},
error: function() {}
});
}));
防止表单提交和重新加载页面的正确方法是在提交函数的末尾使用return false;
。这也将取代代码中的e.preventDefault();
。
同时,FormData
并非在所有浏览器上都支持。见https://stackoverflow.com/a/2320097/584192。您可能需要检测并解决此问题。
$(".newfoto").on('submit', function(e) {
$("#mailresult").html('<img src="themes/standart/iconss/spin1.gif" alt="loading..." /><p>Please, wait...</p>');
$.ajax({
url: "dataok.php?act=foto",
type: "POST",
data: (typeof FormData === 'function') ? new FormData(this) : $(this).serialize(),
contentType: false,
cache: false,
processData: false,
success: function(data) {
// success
},
error: function(jqXHR, status, error) {
console.log(error);
}
});
return false;
});
相关文章:
- window.open在内联脚本中返回null并失败,但可以在控制台中工作
- 这个脚本在firefox中工作,但可以'我不能用IE 7、8、9
- 通过DOM工作将PHP变量传递给JavaScript,但可以't将相同的变量从JS传递回PHP
- javascript代码不能在本地正确执行,但可以在JS Fiddle中工作
- Ajax POST失败,但可以在控制台中工作
- HTML音频不能在macbook和ios上工作,但可以在imac上工作——奇怪
- JQuery克隆不能在chrome上工作,但可以在firefox中工作
- var声明语法很奇怪,但可以正常工作
- Ui-router不能从nodejs文件夹中工作,但可以在plunker上工作
- 我的代码不能在Meteor中正常工作,但可以在JS小提琴上工作
- jasmine.clock().tick()不能与$timeout和debounce一起工作,但可以与setTimeou
- 视频不能在safari(来自Windows)中工作,但可以在Mozilla和chrome中工作
- 为什么单行异或交换不能在Javascript中工作,但可以在c++中工作
- jQuery不能在IE11中工作,但可以在Chrome中工作
- javascript onclick不能在chrome和IE8中工作,但可以在firefox 7.0.1中工作
- JS正则表达式代码不能在firefox上工作,但可以在chrome和IE上工作
- 代码来改变BG图像不工作,但可以改变BG的颜色
- 导航栏菜单不能在Microsoft Internet浏览器中工作,但可以在Firefox, Chrome和;歌剧
- 现场Javascript不能在Electron中工作,但可以在其他任何地方工作
- Xsl transformToDocument不能在chrome浏览器中工作,但可以在firefox中工作