aquí está mi acción de 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, }) } } así que traté de enviar una solicitud de publicación a este punto final de /api/wishlist/add_to_wishlist/${id}/ dice en respuesta (desde la extensión redux)
type:"WISHLIST_ADD_ITEM_FAIL" payload:"Authentication credentials were not provided." Authentication credentials we…provided. pero cuando probé el mismo punto final usando cartero, funcionó, es decir, agregó el artículo a la lista de deseos.
lo que probé
Entonces, ¿puedes ayudarme? Gracias. Si tiene curiosidad, aquí está la vista:
@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 ')en la interfaz, intente así.
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); ...