这篇文章主要介绍了Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation",非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

今天使用ajax上传文件时,出现了错误。数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求。F12看到后台报了个错误:Uncaught TypeError: Illegal invocation,百度了一下,找到了解决方法。

解决方法:在ajax请求的参数中添加如下两个参数:

$.ajax({
  ...,
  processData: false,
  contentType: false,  
  ...
});  

processData

类型:Boolean

默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

contentType

类型:String

默认值: "application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。

默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。

总结

以上所述是小编给大家介绍的解决Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation"问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

最新资讯
亚马逊拟发行100亿美元企业债

亚马逊拟发行100亿美

据亚马逊在递交给美国证券交易委员会(SEC)的监管文件里
马斯克:火箭升天,汽车“坠地”

马斯克:火箭升天,汽车“

近日,大家都被马斯克旗下太空公司SpaceX的载人“龙”飞
Facebook员工举行虚拟罢工以抗议特朗普暴力言论

Facebook员工举行虚拟

Facebook员工周一举行了一场“虚拟罢工”,抗议该公司对
蘑菇街股价暴跌背后:平安创投踩雷 散户损失惨重

蘑菇街股价暴跌背后:平

  文/丁廿四  “眼见他起高楼,眼见他楼塌了,更惨的
砸1亿元悬赏主播 网易严选还是慢了

砸1亿元悬赏主播 网易

这是继4月1日与罗永浩合作直播试水后,网易严选全面加速
云业务剥离 32岁金山软件再整装

云业务剥离 32岁金山

5月28日,金山软件证券事务部相关负责人告诉时代周报记
最新文章
bootstrap select2 动态从后台Ajax动态获取数据的代码

bootstrap select2 动

这篇文章主要介绍了bootstrap select2 动态从后台Ajax
ThinkPHP5 通过ajax插入图片并实时显示(完整代码)

ThinkPHP5 通过ajax插

这篇文章主要介绍了ThinkPHP5 通过ajax插入图片并实时
使用AJAX(包含正则表达式)验证用户登录的步骤

使用AJAX(包含正则表达

这篇文章主要介绍了使用AJAX(包含正则表达式)验证用户登
Ajax原理与应用案例快速入门教程

Ajax原理与应用案例快

这篇文章主要介绍了Ajax原理与应用案例,结合实例形式
Ajax提交post请求案例分析

Ajax提交post请求案例

这篇文章主要介绍了Ajax提交post请求,结合具体案例形
Ajax返回值类型与用法实例分析

Ajax返回值类型与用法

这篇文章主要介绍了Ajax返回值类型与用法,结合实例形