未提供身份验证凭证 - 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 尝试相同的终点时它起作用了,即将项目添加到愿望清单。

我试过的


所以你能帮帮我吗?谢谢。如果你好奇这里是观点:


@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);
    ...