axios中怎么传数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios中怎么传数组相关的知识,希望对你有一定的参考价值。

参考技术A 功能特性
在浏览器中发送 XMLHttpRequests 请求
在 node.js 中发送 http请求
支持 Promise API
拦截请求和响应
转换请求和响应数据
自动转换 JSON 数据
客户端支持保护安全免受 XSRF 攻击
请求方式

axios(config)

axios.request(config)

axios.get(url[, config])

axios.delete(url[, config])

axios.head(url[, config])

axios.post(url[, data[, config]])

axios.put(url[, data[, config]])

axios.patch(url[, data[, config]])

get请求

axios
.get('/user', params:id: 12 )
.then(res=> console.log(res) )
.catch(err=> console.log(err) )

post请求

axios
.post('/user',id: 12)
.then(res=> console.log(res) )
.catch(err=> console.log(err) )

发送并发请求

axios
.all([axios.get('/profile'), axios.post('/user')])
.then(axios.spread((res1, res2)=>
console.log(res1)
console.log(res2)
))

axios.all([]) 返回的结果是一个数组,使用 axios.spread 可将数组 [res1,res2] 展开为 res1, res2
直接通过配置发送请求,类似于 $.ajax(config)
axios(config) / axios(url,[config])

axios(
url:'/user',
method: 'post',
data: id: 1 ,
)

axios('/user/12')本回答被提问者采纳

对象数组作为请求 POST axios 的参数

【中文标题】对象数组作为请求 POST axios 的参数【英文标题】:array of objects as parameters on request POST axios 【发布时间】:2018-09-21 16:40:18 【问题描述】:

我正在使用 vue.js 开发一个项目并处理我使用 AxiosAJAX 请求,我想知道是否可以将一个参数作为参数传递给 POST 请求一个对象数组,这种类型:

[id: 1, name: 'max', id: 2, name: 'jhon', id: 3, name: 'anna']

如果可能,最好的方法是什么?

【问题讨论】:

javascript - pass object via post的可能重复 为什么不可能? 【参考方案1】:

当然!

let arrOfObj = [
   name: 'John', lastName: 'Doe' ,
   name: 'Jane', lastName: 'Doe' 
]

axios.post('url_here',arrOfObj)
.then(console.log)
.catch(console.log)

【讨论】:

【参考方案2】:

是的,很有可能

let data = [
    id: 1, name: 'max', 
    id: 2, name: 'jhon', 
    id: 3, name: 'anna'
];

let formdata = new FormData();
formdata.append('data',JSON.stringify(data));

axios.post('/url`',formdata)
.then(res => console.log(res))
.catch(err => console.log(err)

在接收端(假设是 PHP 和 Laravel)

$data = json_decode($request->data);

然后循环遍历 $data,因为它是一个普通数组

【讨论】:

【参考方案3】:

Lema's answer 是唯一一个在使用 axios + vue + .net Core 时对我有用的人。

我正试图向我的后端发送一个期望数组的帖子。在 Lema 的实现之后,我收到了一个字符串,然后将 json 字符串反序列化为我期望的类型。

    public IActionResult PostMethod([FromForm]string serialized_object_name)
         var expectedArray = JsonConvert.DeserializeObject<ArrayTypeNeeded[]>(serialized_object_name);
    

【讨论】:

以上是关于axios中怎么传数组的主要内容,如果未能解决你的问题,请参考以下文章

Vue:axios中POST请求传参问题---传递数组 (补充)

Vue:axios中POST请求传参问题

axios将数据从前端传到后端是对象还是数组

在GET请求中传数组

axios.put 参数怎么传

axios 前端Post 传字符串数组给 Web Api 接收