Illegal invocation
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Illegal invocation相关的知识,希望对你有一定的参考价值。
参考技术A 问题描述:在使用 jQuery 封装的 ajax 请求的时候,用于上传图片,表单等一系列。里面 formData 方法传入作为 data 的属性值的时候,会出现这个错误默认值是: contentType = "application/x-www-form-urlencoded"
这是分界符,后面的一堆字符串是随机生成的,目的是防止上传文件中出现分界符导致服务器无法正确识别文件起始位置。如果为true的时候,jq就会去操作这个分界符,导致后台服务器无法操作数据,导致请求失败。
默认为true,规定通过请求发送的数据是否转换为查询字符串,默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded" 。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
本次项目中用到了 jQuery 封装的 ajax 请求,并结合了 formData 的形式来传输数据,因为用了 formData 会默认 contentType:'multipart/form-data' ,如果不用 Content-Type: application/x-www-form-urlencoded ,为了保证后台能够解析浏览器传输过去的数据的时候,我们需要设置 contentType:false (防止jq去操作,失去这个分界符)。
借鉴: https://segmentfault.com/a/1190000007207128
以上是关于Illegal invocation的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Java 9 '--permit-illegal-access' 标志传递给 Webstart 应用程序?
电脑开机出现the NTVDM CPU has encountered an illegal instruction 求高手解决
无法识别的选项:运行 cordova build android 时 --illegal-access=permit