分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

ajax上传文件 基于jquery ?form表单上传文件

发布时间:2023-09-06 02:21责任编辑:熊小新关键词:form表单
<script src="/static/js/jquery.js"></script>
<script> ???$("#reg-btn").click(function () { ???????// 1. 取到用户填写的数据 ???????var form_data_obj = new FormData(); ???????form_data_obj.append(‘username‘,$(‘#id_username‘).val()); ???????form_data_obj.append(‘password‘,$(‘#id_password‘).val()); ???????form_data_obj.append(‘re_password‘,$(‘#id_re_password‘).val()); ???????form_data_obj.append(‘phone‘,$(‘#id_phone‘).val()); ???????form_data_obj.append(‘email‘,$(‘#id_email‘).val()); ???????form_data_obj.append(‘csrfmiddlewaretoken‘,$("[name= ‘csrfmiddlewaretoken‘]").val()); ???????form_data_obj.append(‘avatar‘,$(‘#avatar‘)[0].files[0]); ???????// 2. 往后端发post请求 ???????$(‘#reg-btn‘).click(function(){ ???????????$.ajax({ ???????????????url:‘/reg/‘, ???????????????type:‘post‘, ???????????????data:form_data_obj, ???????????????processData: false, ???????????????contentType: false, ???????????????success:function (response) { ???????????????????console.log(response); ???????????????????{#错误信息为1,则展示错误信息#} ???????????????????if(response.code ===1){$.each(response.msg, function (k,v) { ???????????????????????console.log(‘k‘,k); ???????????????????????console.log(‘v‘,v); ???????????????????????$(‘#id_‘+k).next().text(v[0]).parent().addClass(‘has-error‘) ???????????????????})} ???????????????????else if(response.code ===0){location.href=response.msg} ???????????????} ???????????}) ???????}) ???????}); ???// 每一个input标签获取焦点的时候,把自己下面的span标签内容清空,把父标签的has-error样式移除 ???$("input.form-control").focus(function () { ???????$(this).val(‘‘).next("span").text(‘‘).parent().removeClass(‘has-error‘); ???}); ???// 前端页面实现头像预览 ???// 当用户选中文件之后,也就是头像的input标签有值时触发 ???$(‘#avatar‘).change(function () { ???????var file = this.files[0]; ???????var fr = new FileReader(); ???????fr.readAsDataURL(file); ???????fr.onload = function(){ ???????????$(‘#avatar-img‘).attr(‘src‘,fr.result) ???????} ???})

注意点:

  ajax上传文件,借助FormData对象

  同时增加两组键值对

 ??processData:false, ?//tell jQuery not to process the data ??contentType: false, ?//tell jQuery not to set contentType


form组件上传文件

<form action="http://localhost:8081/thingsparse/addorupdthingsparse" method="post" enctype="multipart/form-data">
????<input type="file" name="file" value="选择jar包"/>
????<input id="submit_form" type="submit" class="btn btn-success save" value="保存"/>
</form>

注意:每条form表单参数都需要有name属性,以及form表单的enctype="multipart/form-data"。提交按钮type=‘submit’

ajax上传文件 基于jquery ?form表单上传文件

原文地址:https://www.cnblogs.com/rain-chenwei/p/9938915.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved