如何将动态参数(ID)传递给 axios api 调用?
How to pass dynamic parameter (ID) to axios api call?
我有一个 api 最后一部分是动态的:
src/api/user.js
export function getProfileData() {
return request({
url: 'http://localhost:8000/profile_update/DYNAMIC USER ID HERE',
method: 'get',
})
}
我在这个动作中调用这个 api:
store/modules/user.js
setProfileData({ commit }) {
return getProfileData(userId).then(response => {
console.log('RESPONSE setProfileData action dispatch', response)
commit('SET_PROFILE_DATA', response.results)
})
(在这个模块中我也有状态和突变 - 工作)
此操作在此处发送:
src/views/users-list
goToUserProfile(user) {
const userId = user.id
this.$store.dispatch('user/setCurrentUser').then(() => {
const profileData = this.$store.dispatch('user/setProfileData(userId)').then(() => {
const profileData = this.$store.getters.profileData
this.profileData = profileData
console.log('users-list sending profile data: ', profileData )
this.$router.push({
name: 'SeeUserProfile',
params: {
userId: userId
}
})
}).catch((err) => {
console.log('ERROR IN fetchin' userDataProfile: ', err)
this.loading = false
})
})
}
参数用户来自
@click.prevent="goToUserProfile(data.item), selectUser(data.item)"
所以 data.item = 单个选定用户
此代码无效。
我需要在 api 中使用动态用户 ID。
我店里还有:
setCurrentUser({ commit }, userData) {
commit('SET_CURRENT_USER', userData)}
工作正常 - 在 userData 中有 属性 id。
我尝试使用 /${params.userId},但如何在 api?
中传递它
如何将 userId 传递给 axios 调用?
希望我已经清楚了。
我已经提取了很多代码,所以如果需要,我会 post 全部。
- 为
getProfileData
函数添加id参数getProfileData(usedId)
并包含在url中:
url: http://localhost:8000/profile_update/${ DYNAMIC USER ID HERE }
(记得用反引号括起 link)
- 为
setProfileData
函数添加id参数:setProfileData({ commit }, userId)
- 如果 id 是路由参数,使用
this.$route.params.userId
提取它
希望对您有所帮助。
在整个 url 中使用反引号而不是双引号,并且有效。
我有一个 api 最后一部分是动态的: src/api/user.js
export function getProfileData() {
return request({
url: 'http://localhost:8000/profile_update/DYNAMIC USER ID HERE',
method: 'get',
})
}
我在这个动作中调用这个 api: store/modules/user.js
setProfileData({ commit }) {
return getProfileData(userId).then(response => {
console.log('RESPONSE setProfileData action dispatch', response)
commit('SET_PROFILE_DATA', response.results)
})
(在这个模块中我也有状态和突变 - 工作) 此操作在此处发送: src/views/users-list
goToUserProfile(user) {
const userId = user.id
this.$store.dispatch('user/setCurrentUser').then(() => {
const profileData = this.$store.dispatch('user/setProfileData(userId)').then(() => {
const profileData = this.$store.getters.profileData
this.profileData = profileData
console.log('users-list sending profile data: ', profileData )
this.$router.push({
name: 'SeeUserProfile',
params: {
userId: userId
}
})
}).catch((err) => {
console.log('ERROR IN fetchin' userDataProfile: ', err)
this.loading = false
})
})
}
参数用户来自
@click.prevent="goToUserProfile(data.item), selectUser(data.item)"
所以 data.item = 单个选定用户
此代码无效。 我需要在 api 中使用动态用户 ID。 我店里还有:
setCurrentUser({ commit }, userData) {
commit('SET_CURRENT_USER', userData)}
工作正常 - 在 userData 中有 属性 id。
我尝试使用 /${params.userId},但如何在 api?
中传递它如何将 userId 传递给 axios 调用? 希望我已经清楚了。 我已经提取了很多代码,所以如果需要,我会 post 全部。
- 为
getProfileData
函数添加id参数getProfileData(usedId)
并包含在url中:url: http://localhost:8000/profile_update/${ DYNAMIC USER ID HERE }
(记得用反引号括起 link) - 为
setProfileData
函数添加id参数:setProfileData({ commit }, userId)
- 如果 id 是路由参数,使用
this.$route.params.userId
提取它
希望对您有所帮助。
在整个 url 中使用反引号而不是双引号,并且有效。