我试图通过AJAX和ASP.NET MVC将summernote插件上传到服务器。 初始化:通过AJAX进行的Summernote图片上传导致页面刷新
$('#contentEditor').summernote({
height: 520, // set editor height
minHeight: 520, // set minimum height of editor
maxHeight: 520, // set maximum height of editor
callbacks: {
onImageUpload: onImageUpload
}
});
图片上传:
function onImageUpload(files) {
var data = new FormData();
data.append("articleId", @(Model.Id));
data.append("langId", @(Model.LanguageCode));
for (var i = 0; i < files.length; i++) {
data.append("files[" + i + "]", files[i]);
}
$.ajax({
data: data,
type: "POST",
url: "@(Url.Action("UploadArticleImage"))",
cache: false,
contentType: false,
processData: false,
success: function (d) {
if (!d.result) {
// TODO: Show error
} else {
for (var i = 0; i < d.data.length; i++) {
$('#contentEditor').summernote('insertImage', d.data[i]);
}
}
}
});
return false;
}
现在,图片上传的作品和我得到了正确的路径,但 检查的几个例子,我能够创建下列JS代码后出于某种原因,AJAX调用在执行后会导致页面刷新。 我试着添加“返回false”,但它没有工作,我无法使用preventDefault,因为我没有从summernote中获取事件。
有没有人有任何想法为什么AJAX导致刷新? 我怀疑罪魁祸首是“FormData”对象,但我无法找到任何证据或方法来防止刷新,即使经过广泛的Google研究。
你的代码应该工作。你测试过哪个浏览器? –
Chrome版本59.0.3071.115(官方版本)(64位) – Ben
与我的浏览器相同。我还用Edge进行了测试,它也起作用。嗯,这似乎不是线索。 –