给个例子给你:
data:{
'prid':$("#id").val(),//主单ID
'processname':$("#processname").val(),//流程名称
'processnodename':$("#processnodename").val(),//节点名称
'purAccount':purchaseExpenseAccountId.substring(0,purchaseExpenseAccountId.length-1),//科目
'costCenter':costCenterId.substring(0,costCenterId.length-1),//成本中心
'budgetaryEar':budgetaryEar.substring(0,budgetaryEar.length-2), //预算金额
'parities':$("#parities").val(),//汇率
'cnyGrandTotalco':$("#grandTotalCnyT").val(), //总计金额
'internalOrder':internalOrder.substring(0,internalOrder.length-1),//内部订单号
'itemPrices':itemPrices.substring(0,itemPrices.length-1), //金额小计
'addonTotalCny':addonTotalCny, //追加金额
'purexptypeid':$("#purexptypeid").val(),
'purchaseType':$("#purchaseType").val(),//采购类型
'expenseType':$("#expenseType").val() //支出类别
},
<form id="UploadFile" action="xxx/xxx" method="post" class="file-upload" enctype="multipart/form-data">
<div class="ordinary mangerUp clearfix">
<input type="submit" class="upload" value="文件上传">
<input type="file" class="agent-file" name="file"/>
</div>
</form>
$(function() {
var options = {
type : 'POST',
url : 'xxx/xxxx',
success : function showResponse(responseText, statusText, xhr, $form) {
if (responseText.status == "0") {
alert(responseText.msg);// * 请求成功后的操作
} else {
alert(responseText.msg);
}
},
dataType : 'json',
error : function(xhr, status, err) {
alert("操作失败");
}
};
$("#UploadF").submit(function() {
$(this).ajaxSubmit(options);
return false; //防止表单自动提交
});
});
ajax传文件要用HTML5的FormData,IE9-不支持。你用jquery.ajax还得配置processData为false不转为键值对,而且onchange要放到file对象上,不是a,a没有onchange事件
<input type="file" name="file" onchange="inputfile(this)" />
<script>
function inputfile(el) {
var data = new FormData();
data.append('file', el.files[0]);////
$.ajax({
....
...
data:data,/////////
processData:false,///////
.....
})
}
</script>
写后台需要接收你的参数啊,他们要什么字段,你就填什么字段给他们
var form = new FormData(document.getElementById("wcmDocumentForm"));
if($(obj).closest('form').valid()){
$.ajax({
type: 'post',
url: webRoot+$(obj).closest('form').attr('action'),
data: form,
processData:false,
contentType:false,
dataType: 'json',
success: function(data){
alert(messages[data.result]);
search();
$(".panel-search").show();
}
});
}
上面这几个我看了下应该有的有问题,form表单提交附件不能直接提交,ajax参数也有变化,processData:false,
contentType:false,这两个是必须有的把整个form重新new一个,后台直接获取就可以
$.ajaxFileUpload({
url : _url,
secureuri : false, //是否启用安全提交,默认为false。
fileElementId : _id, //input的Id
dataType : 'json', //服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
success : function(result) {
//do sth
},
error : function(data, status, e) {
//do sth
}
});
你可以在URL上加参数
url: '${webRoot}/user/xxxxxx?参数名=' + 参数