ajax上传文件时非法调用问题

Jquery实现Ajax异步提交时报错非法调用,应该是输入参数错误.

var formData = new FormData();
   formData.append(‘userName‘,$scope.userName);
   formData.append(‘file‘,$scope.file);
           
   var url ="http://localhost:8080/SpringMVCT/rest/v1/uploader";            
   $.ajax({
       type:‘POST‘,
       url:url,
       data:formData,
       contentType:undefined,
       mimeType:"multipart/form-data",
       success:function(data){
            //  success
       }
   });

$scope.file这个File类型的参数被预先处理,于是设置$.ajax 的processData:false,就会请求成功。

$.ajax({
  type:‘POST‘,
  url:url,
  data:formData,
  contentType:undefined,
  processData:false,
  mimeType:"multipart/form-data",
  success:function(data){
     //  successs        
  }
});

processData用于对data参数进行序列化处理,默认值是true。默认情况下发送的数据将被转换为对象,如果不希望把File转换,需要设置为false。同样在ajax提交其他请求时,如果数据是其他表单的内容(比如文本类型的input),也要转化成值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,332评论 19 139
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,129评论 0 2
  • Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest ...
    对角另一面阅读 647评论 0 1
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,229评论 6 342
  • 前几天买来的鲜花,花店小妹说放久了就能变成干花,可是屋里的鲜花干了之后发霉了。空气太潮湿,日子过得太快,竟忘了给它...
    Zz荆棘鸟阅读 885评论 4 5

友情链接更多精彩内容