使用ajax传 既有字符串类型,又有文件类型的的参数

使用ajax传 既有字符串类型,又有文件类型的的参数

html

<div>
	<form>
		<input type="text" id="text">
		<input tyoe="file" onchange="addImg(this)">
		<img id="img-show" src="" alt="图片缩略图">
		<button type="button" onclick="btn()">确定保存</button>
	</form>	
</div>

js

var formDta = new FormData();
function addImg(file){
	var file = file.files[0];// 这是规定的获取添加的文件的方式
    console.log(file);
    var reader = new FileReader();读取文件信息
    formData.append("diploma_image[]",file);// 将添加的图片存到数组形式的属性中”diploma_image[]“,可以存多张图片
    reader.readAsDataURL(file);
    reader.onload = function(e){
            $("#img-show).attr("src",this.result); // 图片回显
    }
}

function btn(){ // 使用jQuery中的ajax发送请求
    var text = $("#text").val(); 
    formData.append("text":text); // 存储text
	$.ajax({
				url: ‘放请求的路径’,
        type: "post",
                processData: false, //jquery 是否对数据进行 预处理
                contentType: false, // 不要自己修改请求内容类型,
                data: formData,
                dataType:'json',
        success: function(res,status,xhr){
                    if(res.code != 0){
                        alert(res.msg);
                    }else{
                        alert("添加成功!");
                        //window.location.href = router_question_list_theory_url;
                    }
       }
	})
}

注意:

  1. processData: false, //jquery 是否对数据进行 预处理
    contentType: false, // 不要自己修改请求内容类型,
    这两句是必须要添加,否则传过去的数据会被处理
  2. 必须实例化一个FormData对象来存储要传的参数
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值