未提供身份验证凭证 - Axios
Authentication credentials are not provided - Axios
这是我对 redux 的操作:
export const addToWishlist = (id) => async (dispatch, getState) => {
try {
const {
userLogin: { userInfo },
} = getState()
const config = {
headers: {
'Authorization': `JWT ${userInfo.token}`
}
}
const { data } = await axios.post(`/api/wishlist/add_to_wishlist/${id}/`, config
)
dispatch({
type: WISHLIST_ADD_ITEM,
payload: data
})
localStorage.setItem('wishlistItems', JSON.stringify(getState().wishlist.wishlistItemsFromStorage))
} catch (error) {
dispatch({
type: WISHLIST_ADD_ITEM_FAIL,
payload: error.response && error.response.data.detail
? error.response.data.detail
: error.message,
})
}
}
所以我试图向这个 api 端点发送一个 post 请求 /api/wishlist/add_to_wishlist/${id}/
它在响应中说(来自 redux 扩展)
type:"WISHLIST_ADD_ITEM_FAIL"
payload:"Authentication credentials were not provided."
Authentication credentials we…provided.
但是当我使用 postman 尝试相同的终点时它起作用了,即将项目添加到愿望清单。
我试过的
- 我尝试从控制台复制令牌并将其粘贴到 postman 上,它起作用了,但还是不在前端上
- 我什至尝试将相同的标记从 postman 硬复制到操作代码,但它仍然显示相同的错误
- 我尝试更改配置代码并添加 content-type = applicaton/json 但都是徒劳的。
所以你能帮帮我吗?谢谢。如果你好奇这里是观点:
@api_view(['POST'])
@csrf_exempt
@permission_classes([IsAuthenticated])
def add_to_wishlist(request, id):
product = get_object_or_404(Product, _id=id)
if product.users_wishlist.filter(id=request.user.id).exists():
product.users_wishlist.remove(request.user)
else:
product.users_wishlist.add(request.user)
return Response('your item is add to the wishlist ')
在前端请这样尝试。
const config = {
method: 'post',
url: `/api/wishlist/add_to_wishlist/${id}/`,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
data : {},
};
const { data } = await axios(config);
...
这是我对 redux 的操作:
export const addToWishlist = (id) => async (dispatch, getState) => {
try {
const {
userLogin: { userInfo },
} = getState()
const config = {
headers: {
'Authorization': `JWT ${userInfo.token}`
}
}
const { data } = await axios.post(`/api/wishlist/add_to_wishlist/${id}/`, config
)
dispatch({
type: WISHLIST_ADD_ITEM,
payload: data
})
localStorage.setItem('wishlistItems', JSON.stringify(getState().wishlist.wishlistItemsFromStorage))
} catch (error) {
dispatch({
type: WISHLIST_ADD_ITEM_FAIL,
payload: error.response && error.response.data.detail
? error.response.data.detail
: error.message,
})
}
}
所以我试图向这个 api 端点发送一个 post 请求 /api/wishlist/add_to_wishlist/${id}/
它在响应中说(来自 redux 扩展)
type:"WISHLIST_ADD_ITEM_FAIL"
payload:"Authentication credentials were not provided."
Authentication credentials we…provided.
但是当我使用 postman 尝试相同的终点时它起作用了,即将项目添加到愿望清单。
我试过的
- 我尝试从控制台复制令牌并将其粘贴到 postman 上,它起作用了,但还是不在前端上
- 我什至尝试将相同的标记从 postman 硬复制到操作代码,但它仍然显示相同的错误
- 我尝试更改配置代码并添加 content-type = applicaton/json 但都是徒劳的。
所以你能帮帮我吗?谢谢。如果你好奇这里是观点:
@api_view(['POST'])
@csrf_exempt
@permission_classes([IsAuthenticated])
def add_to_wishlist(request, id):
product = get_object_or_404(Product, _id=id)
if product.users_wishlist.filter(id=request.user.id).exists():
product.users_wishlist.remove(request.user)
else:
product.users_wishlist.add(request.user)
return Response('your item is add to the wishlist ')
在前端请这样尝试。
const config = {
method: 'post',
url: `/api/wishlist/add_to_wishlist/${id}/`,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
data : {},
};
const { data } = await axios(config);
...