Abp Zero AJAX请求(文件上传)出现400 bad request 错误问题解决

Posted 狂乱贵公子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Abp Zero AJAX请求(文件上传)出现400 bad request 错误问题解决相关的知识,希望对你有一定的参考价值。

使用abp框架,使用了Zero模块。再使用Element ui进行上传图片。出现400 bad request错误请求。

用postman传数据到接口时正常工作的。

 

经过几经波折,终于找到问题是nati token的问题。 https://forum.aspnetboilerplate.com/viewtopic.php?f=5&t=10025&sid=5b3ace20a25195168c29846975df630d

 

因为element ui 不是abp的部分。他使用的ajax请求没有包含antiForgery token。所以被abp框架视为是跨站攻击的请求,所以返回了400错误。同理,用jquery的ajax方法去请求数据也是会出现这错误的。

 

用postman能够正确请求,因为postman没有使用apb view页面,没有设置antiForgery token。所以可以上传文件。

 

解决办法是在请求头加X-XSRF-TOKEN。

 

那么问题变成了,如何获取antiForgery token。

答案是,使用abp封装的方法: abp.security.antiForgery.getToken()。 https://aspnetboilerplate.com/Pages/Documents/XSRF-CSRF-Protection

 

以上是关于Abp Zero AJAX请求(文件上传)出现400 bad request 错误问题解决的主要内容,如果未能解决你的问题,请参考以下文章

ABP Zero 本地化语言

ABP zero(easyui版)|webplus zero(ABP版)权限管理系统正式发布

补充ABP Zero集成微信小程序登陆的BUG修复部分

abp zero项目启动报错 vs2022

ABP Zero 8.4开发注意事项----User Delegation

abp 修改abp.zero的实体映射类,使生成的表和字段为大写状态