str.substr(startIndex,length);//从下标为startIndex的字符串开始截取,截取length个字符
str.substring(startIndex,endIndex)//从下标为startIndex的字符开始截取,截取到下标是endIndex
ajax向后台发送请求时,可以通过data提交参数,data的数据格式有3种格式:
1) data:{
k1:v1,
k2:v2,
k2:v22,
........
}
劣势:*只能向后台提交一个参数名对应一个参数值的数据,
不能向后台提及一个参数名对应多个参数值的数据。
只能向后台提交字符串数据
优势:操作简单
2)data:k1=v1&k2=v2&...
优势:*不但能向后台提交一个参数名对应一个参数值的数据,
还能向后台提交一个参数名对应多个参数值的数据。
只能向后台提交字符串数据
劣势:操作复杂
3)data:FormData对象
优势:不但能提交字符串数据
还能提交二进制数据
劣势:操作更加复杂
$("#uploadFile").click(function(){
// 获取要上传的文件
var photoFile =$("#photo")[0].files[0]
if(photoFile==undefined){
alert("您还未选中文件")
return;
}
// 将文件装入FormData对象
var formData =new FormData();
formData.append("headPhoto",photoFile)
// ajax向后台发送文件
$.ajax({
type:"post",
data:formData,
url:"fileUpload.do",
processData:false,//指点以二进制流的方式传输。//设置ajax向后天提交参数之前,是否把
//参数统一转换成字符串:默认是true
contentType:false,//指定以多部分表单方式提交,用于文件上传,设置ajax向后台提交参数之
//前,是否把所有的参数统一按urlencoded编码,默认是true
dataType:"json",
success:function(result){
var s = JSON.stringify(result);
var parse = JSON.parse(s);
// 接收后台响应的信息
alert("1")
// 图片回显
$("#headImg").attr("src","upload/"+parse.newFileName);
},