启用 Ajax 的图像上传
尝试将表单转换为 AJAX 进行图像上传时,您可能会遇到表单无响应的问题提交或文件选择不触发上传功能。以下是解决方案的详细说明:
解决表单提交问题
原始 JavaScript 代码在 AJAX 调用中缺乏正确的错误和成功处理。要解决此问题,请添加以下内容:
success:function(data){ console.log("success"); console.log(data); }, error: function(data){ console.log("error"); console.log(data); }
这些函数提供了一种检查服务器响应并处理任何潜在错误或成功上传的方法。
触发上传文件选择
要在选择文件后立即触发上传功能,请将以下事件侦听器添加到文件输入中元素:
$("#ImageBrowse").on("change", function() { $("#imageUploadForm").submit(); });
此代码侦听文件输入元素值的任何更改,并自动提交表单,启动 AJAX 上传。
完整代码片段
结合上述解决方案,您的最终 JavaScript 代码应该如下所示这个:
$(document).ready(function (e) { $('#imageUploadForm').on('submit',(function(e) { e.preventDefault(); var formData = new FormData(this); $.ajax({ type:'POST', url: $(this).attr('action'), data:formData, cache:false, contentType: false, processData: false, success:function(data){ console.log("success"); console.log(data); }, error: function(data){ console.log("error"); console.log(data); } }); })); $("#ImageBrowse").on("change", function() { $("#imageUploadForm").submit(); }); });
以上是如何解决AJAX图片上传问题:表单提交和触发上传?的详细内容。更多信息请关注PHP中文网其他相关文章!