Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ajax post到api控制器上的400错误

ajax post到api控制器上的400错误
EN

Stack Overflow用户
提问于 2020-08-12 07:29:00
回答 1查看 212关注 0票数 0

我有以下javascript函数,它将数据发布到我的控制器(asp .net核心3.1项目):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function saveState() {
        const gridInstance = $("#ClaimsGrid").dxDataGrid("instance");
        var userstate = gridInstance.state();
        var data = { StateTypeID: 1, StateChange: userstate };
        $.ajax({
            type: "POST",
            data: JSON.stringify(data),
            url: "/api/PostUserState",
            contentType: "application/json",
            success: function () {
                alert("Your grid profile has been saved");
            },
            error: function () {
                alert("An error occurred during save of your grid profile");
            }
        });
    }

我的控制器正在寻找模型UserStateChange,其定义为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public class UserStateChange
    {
        public int StateTypeID { get; set; }
        public string StateChange { get; set; }
    }

控制器代码本身是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        [HttpPost("/api/PostUserState")]
        public bool PostUserState([FromBody] UserStateChange state)
        {
            var UserID = new Guid(HttpContext.Session.GetString("UserId").ToString());
            UserState mod = new UserState();

            var cur = _context.UserState.First(a => a.AppUserID == UserID && a.StateTypeID == state.StateTypeID);

            //... more logic here


            return true;
        }

我在javascript中正确地获得了JSOn.Stringify数据,但是我得到了一个400错误,甚至从未击中控制器上的断点。我做错了什么,为什么我得到了一个400错误?为什么它没有正确识别我的json模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-12 07:44:47

我认为问题在客户端,尤其是在数据方面。在js中创建一个对象并发送它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63379841

复制
相关文章
关于ajax 进行post提交 json数据到controller
www.cnblogs.com/Benjamin/archive/2013/09/11/3314576.html
kirin
2021/01/14
8350
JQuery Ajax Post导致500内部服务器错误
$.ajaxSetup({data:{csrfmiddlewaretoken:'{{csrf_token}}'}});
用户4645133
2019/02/15
4.5K0
AJAX发送POST请求
AJAX(Asynchronous JavaScript and XML)是一种用于在 Web 应用程序中进行异步数据交换的技术。在 AJAX 请求中,我们可以使用 POST 方法发送数据到服务器,以便进行处理和保存。
堕落飞鸟
2023/05/18
4.1K0
ajax 请求400 bad request的问题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
suveng
2019/09/17
1.6K0
400错误请求什么意思_网页400错误怎么解决
A 400 Bad Request Error occurs when a request sent to the website server is incorrect or corrupt, and the server receiving the request can’t understand it. Occasionally, the problem is on the website itself, and there’s not much you can do about that. But most of the time, the problem is one you might be able to solve—maybe you typed the address wrong, or maybe your browser cache is causing problems. Here are some solutions you can try.
全栈程序员站长
2022/11/11
11.2K0
400错误请求什么意思_网页400错误怎么解决
记录一次ajax 429请求laravel api的错误[通俗易懂]
频率限制经常用在API中,用于限制独立请求者对特定API的请求频率。例如,如果设置频率限制为每分钟1000次,如果一分钟内超过这个限制,那么服务器就会返回 429: Too Many Attempts.响应。
全栈程序员站长
2022/07/12
2.1K0
记录一次ajax 429请求laravel api的错误[通俗易懂]
AJAX的post请求与上传文件
之前介绍了AJAX的get的请求方式与跨域请求,除此之外AJAX还可以进行异步的post请求,在使用post方式的请求时需要设置请求头,如下:
端碗吹水
2020/09/23
3.2K0
AJAX的post请求与上传文件
Ajax的get与post的区别,什么时候使用post?
  get和post在HTTP中都代表着请求数据,其中get请求相对来说更简单、快速,效率高些
红目香薰
2022/11/29
6540
jQuery中使用ajax,$.post
 jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。 callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 type (String) : (可选)官方的说明是:Type o
Ryan-Miao
2018/03/13
1.2K0
网站错误代码400_网页400错误什么意思
看着她充满求知欲的卡姿兰大眼睛,S姐决定本期讲讲上网冲浪时,你可能遇到的错误代码解析!
全栈程序员站长
2022/11/11
2.7K0
网站错误代码400_网页400错误什么意思
AFN Post请求,报错400(code:-1011)
manager.requestSerializer = [AFJSONRequestSerializer serializer];
JQ实验室
2022/02/09
4590
php接受不到ajax的post数据
今天我在开发中遇到了一种情况: 我从html头信息里可以看到post传过去的数据,甚至打印ajax返回的json也是可以,但唯独加上键以后就变成了undefined。也就是说js并没有识别该json 解决方法:eval()函数转换:eval() 函数会将传入的字符串当做 JavaScript 代码进行执行。
九霄道长
2021/03/02
1.7K0
一个ajax的Post要求
$.post(url,[data],[callback],[type]) 第一个参数是地址,第二个参数是一个参数传递。第三个参数是一个回调函数。參数是请求返回数据的类型
全栈程序员站长
2022/07/06
1.4K0
java 设置400错误_Java项目报400错误的原因与解决方法
请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如”Missing Call-ID header field”。
全栈程序员站长
2022/11/09
3.9K0
接口400错误解析
今天我遇上一个让我很痛心的错误400。对程序员来说,这可能是一个最简单的错误码。因为这个相应并没有进拦截器,更没有进到Controller层。可我在解决这个问题时,质询了很多朋友不解,百度各种方案无效。苦苦耗费我大半天时间。
全栈程序员站长
2022/07/01
4.1K0
接口400错误解析
jQuery - AJAX get() 和 post() 方法
jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。
陈不成i
2021/07/22
1.5K0
前端基础-Ajax发送POST请求
第5章 Ajax发送POST请求 5.1 post请求 复制第3章案例代码,将 get 请求修改为 post 请求; //请求地址 var url = 'baidu'; //open参数为post xhr.open('post',url); //设置请求头 *** xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //设置post请求参数值 xhr.send('names='+inp.value); 5.2 无
cwl_java
2020/03/26
3K0
详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明。 1 $.get("data.php",$("#firstName.val()"),function(data){ 2 3
用户1214487
2018/01/24
3.9K0
JQuery 封装 Ajax Post 请求示例
发送 POST 其实很简单可以在之前发送 GET 请求的基础上进行更改一些内容即可进行发送 POST 请求了:
程序员 NEO
2023/09/22
2720
JQuery 封装 Ajax Post 请求示例
php判断AJAX,POST,GET请求
判断是否为ajax请求 function isAjax() { if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&  strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { return true; } else { return false; } } 判断是否为post请求 function isPost() {
九霄道长
2021/03/02
2.9K0

相似问题

ajax post到MVC控制器失败,错误请求为400

19

在jquery ajax post上不断收到400 (错误的请求)到MVC控制器

20

AJAX POST上的JSON Stringify 400错误请求

21

在产品控制器的jQuery ajax post上收到400 (错误请求)

19

Ajax POST错误(400个错误请求)

51
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文