javascript - axios 获取参数
问题描述
我正在尝试使用参数实现从 API 获取数据。我有两个功能,我看不到错误。有任何想法吗?
getFilteredProducts() {
return apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
async fetchFilteredProducts({ commit }, name) {
await productService.getFilteredProducts({name})
.then(response => {
commit('SET_FILTERED_PRODUCTS', response.data.items)
})
.catch(error => {
console.log('Error has occured' + error)
})
}
我收到了下面代码的工作解决方案,所以问题可能与第二个参数有关。
async fetchFilteredProducts({ commit }, name) {
await axios.get("MY_API_URL/product/", {
params: {
search: String(name)
}
})
.then(response => {
commit('SET_FILTERED_PRODUCTS', response.data.items)
})
解决方案
目前尚不清楚您要完成什么,但我认为您的功能应该是这样的:
使用异步/等待:
// Your Service
async getFilteredProducts(name) {
return await apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
// Using Your Service
async someParentFunction() {
const response = await getFilteredProducts("John")
console.log(response.data);
}
使用承诺:
// Your Service
getFilteredProducts(name) {
return apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
// Using Your Service
getFilteredProducts("John").then((response) => {
console.log(response.data);
})
请注意name
我传递给getFilteredProducts
方法的参数。以前这不存在,因此String(name)
会导致空字符串""
。
推荐阅读
- javascript - 使用 select2 折叠/展开 optgroup
- sql - 更改装配权限设置为安全
- reactjs - Backbone => React - 高阶组件、继承和特化
- c# - DataTable 需要永远从 SqlDataReader 加载数据
- mysql - 用 if 触发
- javascript - 如何在 javascript 函数之外调用数组
- php - PHP、MySQL 应用程序用户和凭据应该在应用程序或数据库上运行?
- java - JPanel.removeAll() 无法正常运行
- jersey - Embedded Jetty:如何在 http 请求到达后立即运行安全处理程序?
- go - 与并发功能不一致的结果?