axios 访问data类型和.net core 后端对应接收

一、关于get和post方法采用的参数类型

1、get用到的data类型一般为query和params,由于请求url有最大限制,常用于参数和参数值比较小的场景,也是比较常用的场景。

data类型:query是拼接参数紧接到url后面,

javascript 复制代码
axios.get('/api/data?param1=value1&param2=value2')
    .then(response => {
        // 处理响应
    })
    .catch(error => {
        // 处理错误
    });

params是 参数单独放在查询参数的params里面

javascript 复制代码
axios.get('/api/data', {
    params: {
        param1: 'value1',
        param2: 'value2'
    }
})
.then(response => {
    // 处理响应
})
.catch(error => {
    // 处理错误
});

对应的后端代参数为FromQuery码如下:

cs 复制代码
 [HttpGet]
    public IActionResult Get(string param1, string param2)
    {
        // 你的逻辑
        return Ok(new { param1, param2 });
    }

二、post方法常用于数据量大的场景,常用的data类型分别是data和params

需要内容形式为'Content-Type': 'multipart/form-data'和FormData结合使用,在网页里显示的位置也不一样,可以结合使用

1、当data类型为params时,携带查询参数值

javascript 复制代码
let formData = new FormData();
formData.append('key1','value1');
formData.append('key2','value2');
axios.post('/api',  {
    headers: {
        'Content-Type': 'multipart/form-data'
    },
    params:formData
})
.then(response => {
    // 请求成功处理逻辑
})
.catch(error => {
    // 请求失败处理逻辑
});

对应后端数据参数需要加上FromForm

cs 复制代码
[HttpGet]
    public IActionResult api([FromForm]string param1, [FromForm]string param2)
    {
        // 你的逻辑
        return Ok(new { param1, param2 });
    }

2.当data为data时,发送数据

javascript 复制代码
let formData = new FormData();
formData.append('key1','value1');
formData.append('key2','value2');
axios.post('/api', {
    headers: {
        'Content-Type': 'multipart/form-data'
    },
    data:formData
})
.then(response => {
    // 请求成功处理逻辑
})
.catch(error => {
    // 请求失败处理逻辑
});
cs 复制代码
[HttpGet]
    public IActionResult api([FromForm]string param1, [FromForm]string param2)
    {
        // 你的逻辑
        return Ok(new { param1, param2 });
    }

3.FromForm和FromBody的用法区别:前者是明确的参数值类型,后者则是不需要明确的参数值类型,常用做对象

相关推荐
碎碎念_4929 小时前
SpringBoot + Vue 前后端分离从 0 到 1 完整环境配置流程
vue.js·spring boot·后端
shuaijie051810 小时前
强制修改调用接口的api地址。
javascript·vue.js·ecmascript
katiua14 小时前
Vue-i18n TypeScript 补全提示
vue.js
Fuzio14 小时前
用 Spring Boot + Vue + Fuzio 构建现代 Java 桌面应用
vue.js·spring boot
kisshyshy14 小时前
从0到1彻底理解流式输出:先读懂Vue的“乐高积木”,再拧开LLM的“数据水龙头”
javascript·vue.js·人工智能
饮茶三千15 小时前
电子保函模板编辑器实战二:HTML→FTL 编译转换的设计与实现
前端·vue.js·设计模式
英勇无比的消炎药15 小时前
表单筛选利器:TinyVue BaseSelect 基础选择器实战
vue.js
先吃饱再说15 小时前
从零理解 Vue 3:组件化、数据绑定与响应式完全指南
vue.js·前端框架
gis开发之家17 小时前
《Vue3 从入门到大神29篇》单元测试与 E2E 测试 —— 保障 Vue3 项目的质量
前端·javascript·vue.js·单元测试·前端框架·vue3
forever_world17 小时前
# 💧 从前端视角,彻底搞懂 AI 流式输出 —— 从"接根水管"到 Vue 3 实战
前端·vue.js