.NETCORE FormBody和FormFrom 绑定取值问题

分类: NetCore

最近公司项目中前端工程师遇到一系列的jquery ajax的post请求传值频繁遇到415错误问题。

出现415错误的解决方法:

  1. 前端看ajax请求的contentType是否与后端一致
  2. 看发送的数据格式是否正确。

出现400错误的解决方法:

前后台的数据是以字符串的形式传输的,将json格式的js对象转成json格式的字符串传输,如下所示:

  1. $.ajax({
  2. type: 'post',
  3. url: '/home/test',
  4. headers: {
  5. 'Content-Type': 'application/json; charset=utf-8'
  6. },
  7. data: JSON.stringify({ id: 1, name: 'test' })
  8. })

重点:JSON.stringify()方法

当API端使用FromBody

需要将data数据转换成JSON字符串,并且Content-Type设置为application/json; charset=utf-8

  1. $.ajax({
  2. type: 'post',
  3. url: '/home/test',
  4. headers: {
  5. 'Content-Type': 'application/json; charset=utf-8'
  6. },
  7. data: JSON.stringify({ id: 1, name: 'test' })
  8. })

C# API

  1. [HttpPost]
  2. public IActionResult Test([FromBody]class1 class1)
  3. {
  4. return new JsonResult(class1);
  5. }

当API端使用FromForm

ajax 请求默认即可

  1. $.ajax({
  2. type: 'post',
  3. url: '/home/test1',
  4. data: { id: 1, name: 'test' }
  5. })
  1. [HttpPost]
  2. public IActionResult Test1([FromForm]class1 class1)
  3. {
  4. return new JsonResult(class1);
  5. }
标签: jQuery

上一篇: jenkins docker 安装libgdiplus libc6-dev 支持Drawing组件 dockerfile配置

下一篇: centos7安装libgdiplus。netcore生成验证码,处理图片

by 2023-08-07 23:49:06
篇笔记

学习笔记