zoukankan      html  css  js  c++  java
  • 使用FormData向后台发送文件及数据

    FormData的主要用途有两个:

    1. 将form表单元素的 name 与 value 进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。
    2. 异步上传文件

    接下来直接上代码吧

    //新增数据
    function insertInfo() {
        //1.创建一个空的FormData对象
    	var formData = new FormData();
        //2.获取所有的值
    	var file = $('#file')[0].files[0];//获取文件对象,传到后台为二进制文件
    	var storeName = $("#storeName").val();
    	var categoryId = $("#categoryId").val();
    	var bindPhone = $("#bindPhone ").val();
    	var areaId = $("#areaId ").val();
    	var address = $("#insertAddress").val();
    	var brief = $("#brief").val();
        //3.利用FormData对象的append("name","value")方法添加值
        //(第一个参数为name要与后台实体相对应,第二个参数为value值)
    	//如果file有值(如果没有上传文件,前端接受为undefined,到后台会报错)
    	if (file) {
    		formData.append('file', file); //添加图片信息的参数
    	}
    	formData.append('storeName', storeName);
    	formData.append('categoryId', categoryId);
    	formData.append('bindPhone', bindPhone);
    	formData.append('areaId', areaId);
    	formData.append('address', address);
    	formData.append('brief', brief);
    
    	$.ajax({
    		type: "post",
    		url: "${base}/xunFeng/updateInfo",
    		data: formData,
    		dataType: 'json',
    		cache: false,//上传文件不需要缓存
    		processData: false,// 告诉jQuery不要去处理发送的数据
    		contentType: false,// 告诉jQuery不要去设置Content-Type请求头
    		async: false,//同步发送请求
    		success: function(dataString) {
    			console.log("添加完成" + dataString);
    			// dataString=JSON.parse(dataString);
    			if (dataString.errorcode == "1000") {
    				//清空表单
    				$("#insertFormInfo")[0].reset();
    			} else {
    				layer.alert(dataString.errormsg);
    			}
    		},
    		error: function(xhr, errorType, error) {
    			layer.alert('加载失败:' + error);
    		}
    	});
    }
    
  • 相关阅读:
    基于MVC 的Quartz.Net组件实现的定时执行任务调度
    log4net 全局配置
    解决layui选中项下一页清空问题
    layui 子页面向父页面传值
    mvc session设置时间不起作用
    单个进程中最大线程数探索
    Linux CPU的中断【转载】
    Linux的CPU相关知识
    项目管理利器-Maven(Windows安装)
    Oracle的四种连接方式【转载】
  • 原文地址:https://www.cnblogs.com/orangebooks/p/14304621.html
Copyright © 2011-2022 走看看