通过Ajax提交form表单来提交上传文件


 Ajax 提交form方式可以将form表单序列化 然后将数据通过data提交至后台,例如:


  1. $.ajax({  
  2.      url : "http://localhost:8080/",  
  3.      type : "POST",  
  4.      data : $( '#postForm').serialize(),  
  5.      success : function(data) {  
  6.          
  7.      },  
  8.      error : function(data) {  
  9.         
  10.      }  
  11. });
但是这种方式如果表单中有需要提交的文件类型 这样则不行 后台接不到数据。

解决办法:使用 FormData。这里使用jquery 最好使用2.0版本之后 之前应该不支持。例如:

<form id="form">
   <P class="p5"><span><i>*</i>商户证书:</span>
      <input type='text' name='apiclientType' id='textfield' class='w_txt' >
      <input type='button' class='w_btn' value='上传证书' />
      <input type="file" name="fileField" class="w_file" id="fileField" size="28" οnchange="document.getElementById('textfield').value=this.value" />
   </P>

</form>



var formData = new FormData(document.getElementById("form"));//表单id
$.ajax({
   url: '${ctx}/wmManage/saveWeixinConfig.do' ,
   type: 'POST',
   data: formData,
   async: false,
   cache: false,
   contentType: false,
   processData: false,
   success: function (result) {
    
   }
});

附上后台数据接收:

@RequestMapping("/saveWeixinConfig")
@ResponseBody
public ResultMsg saveWeixinConfig(@RequestParam(value = "fileField",required = false)MultipartFile fileField) throws IOException {
    
    return "";
}


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
通过ajax提交form表单数据到php可以实现页面无需刷新即可提交数据,并且可以异步处理服务器的响应。 首先,需要在HTML中引入jQuery或其他的ajax库,以方便使用ajax函数。然后,在form表单提交事件中使用ajax函数来处理提交。 具体实现步骤如下: 1. 编写HTML表单代码,包含需要提交的各种输入字段和一个提交按钮。 2. 使用JavaScript/jQuery监听表单的提交事件: ```javascript $('#form_id').submit(function(event) { event.preventDefault(); // 阻止表单的默认提交动作 // 获取表单数据 var formData = $(this).serialize(); // 发送ajax请求 $.ajax({ url: '处理数据的php文件路径', type: 'POST', data: formData, success: function(response) { // 响应成功时的操作 }, error: function(xhr, status, error) { // 响应失败时的操作 } }); }); ``` 其中,`form_id`是表单的ID,`处理数据的php文件路径`是处理提交数据的服务器端脚本文件路径。 3. 在服务器端的PHP脚本中,使用`$_POST`超全局数组来获取通过ajax提交的表单数据,进行相应的处理,然后返回处理结果给前端。 ```php <?php // 获取表单数据 $data1 = $_POST['input1_name']; $data2 = $_POST['input2_name']; // 进行数据处理或其他操作 //... // 返回处理结果给前端 echo $result; ?> ``` 以上就是通过ajax提交form表单数据到PHP的简单实现过程。通过这种方式,可以实现页面的异步提交,并在不刷新页面的情况下与服务器进行交互。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值