Axios: Publicar no enviar datos correctamente

Creado en 18 ago. 2016  ·  3Comentarios  ·  Fuente: axios/axios

Hola,
Tengo una aplicación django donde quiero hacer POST haciendo clic en <button> que no está en <form>
El problema es que los datos enviados a la función de visualización no se envían correctamente.

Aquí está el código de axios:

 axios({
        method: 'post',
        url: '/url/to/view'
        data: {
            obj_id: objectid,
            content_type: contenttype,
            like: !is_liked
        },
        xsrfCookieName: 'csrftoken',
        xsrfHeaderName: 'X-CSRFToken',
        headers: {'X-Requested-With': 'XMLHttpRequest',
                  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
    }).then(function (response) { 
        console.log(response);
    });

y aquí ver código:

def my_view(request):
    print request.POST
    return HttpResponse('XX')

No puedo acceder a los datos de request.POST porque la clave es un dict completo y una lista vacía de valores:
<QueryDict: {u'{"obj_id":"182","content_type":"video","like":true}': [u'']}>

Comentario más útil

El problema es que los objetos se serializan en JSON de forma predeterminada, mientras que usted necesita enviar los datos en el formato `application / x-www-form-urlencoded '. La solución más sencilla es utilizar una biblioteca como qs :

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 });

Vea este comentario para más detalles.

¡Espero que esto ayude!

Todos 3 comentarios

El problema es que los objetos se serializan en JSON de forma predeterminada, mientras que usted necesita enviar los datos en el formato `application / x-www-form-urlencoded '. La solución más sencilla es utilizar una biblioteca como qs :

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 });

Vea este comentario para más detalles.

¡Espero que esto ayude!

Otra forma es poner los valores en el objeto FormData y publicar

Escribí un pequeño contenedor aroud axios que funciona bien con la configuración predeterminada de Django> 1.8. ¡Espero que esto ayude a alguien!

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ghost picture ghost  ·  3Comentarios

achingbrain picture achingbrain  ·  3Comentarios

Baoyx007 picture Baoyx007  ·  3Comentarios

ildella picture ildella  ·  3Comentarios

shaosh picture shaosh  ·  3Comentarios