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

时间: 2024-08-07 02:31:55

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

使用FormData,进行Ajax请求并上传文件

使用FormData,进行Ajax请求并上传文件 这里使用JQuery,但是老版本的JQuery比如1.2是不支持的,最好使用2.0或更新版本: Html代码 <form id= "uploadForm"> <p >指定文件名: <input type="text" name="filename" value= ""/></p > <p >上传文件: <inpu

ajax提交表单、ajax实现文件上传

ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用jquery的$.ajax({..}), 支持提交普通表单,但不支持含有文件的复杂表单; ($.post 或 $.get底层用的都是$.ajax) 方式三:使用jquery插件ajaxFileUpload.js, 支持上传文件,但不支持提交表单 方式四:使用jquery.from.js,支持提交同时

基于jquery的Ajax实现 文件上传

---------------------------------------------------------------遇到困难的时候,勇敢一点,找同学朋友帮忙,找导师求助. Ajax Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步Javascript和XML".即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据). 同步交互:客户端发出一个请

AJAX与文件上传

一.ajax ajax(Asynchronous JavaScript And XML):异步JavaScript和XML,即使用JavaScript语句与服务器进行异步交互,传输的数据为XML(也可以是json数据).实际上就是在JavaScript语句里用ajax可以向服务器发送请求. 两大特点: 1,异步交互 2,页面局部刷新 语法: 基于jQuery:<script>$('.cc').click(function(){ #当我们点击'.cc'这个类的时候就会触发ajax请求 $.aja

ajax+spring文件上传

1.js代码 $(function(){ $('#upfileID').change(function(){ $.ajaxFileUpload({ url: '/upload/image', type: 'post', secureuri: false, //一般设置为false fileElementId: 'upfileID', // 上传文件的id属性名 dataType: 'text', //返回值类型,一般设置为json.application/json success: functi

7 款基于 JavaScript/AJAX 的文件上传插件

本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 1.  jQuery File Upload 具有多文件上传.拖拽.进度条和图像预览功能的文件上传插件,支持跨域.分块.暂停恢复和客户端图像缩放.可与任何服务端平台(如PHP.Python.Ruby on Rails.Java.Node.js.Go等)一起使用,支持标准的HTML表单文件上传. 2.  Pixelco

基于jsp的AJAX多文件上传的实现

最近的项目开发中,遇到了一个多文件上传的问题,即在不刷新页面的情况下,上传多个文件至服务器.现总结分享如下: 本文主要采用了基于jsp的ajax,jquery,servlet等技术. 1.upload.jsp 点击上传时,调用对应的fileupload函数,通过ajax将文件异步传送到servlet中处理.注意在文件上载时,所使用的编码类型应当是"multipart/form-data",它既可以发送文本数据,也支持二进制数据上载. <%@ page language="

asp.net 文件上传出错:Maximum request length exceeded 解决方法

<configuration>    <system.web>               <httpRuntime maxRequestLength="102400" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="10

HDFS文件上传:8020端口拒绝连接问题解决!

HDFS文件上传:8020端口拒绝连接问题解决! CopyFromLocal: Call to localhost/127.0.0.1:8020 failed on connection exception:      java.net.ConnectException 问题提示本机的8020端口无法连接. 网络上面找到一篇文章是将core-site.xml里面的配置端口修改成8020,但是我们现在依然用他默认的9000端口,只需要在配置eclipse的时候端口修改为9000就可以了. 我的问题