Saltar al contenido

¿Cómo enviar un formulario sin actualizar la página usando Django, Ajax, jQuery?

Este team de trabajo ha estado largas horas buscando para dar resolución a tu búsqueda, te ofrecemos la solución de modo que nuestro deseo es servirte de mucha ayuda.

Solución:

si planea usar un envío ajax con jquery, no debe devolver html desde su vista .. Le propongo que haga esto en su lugar:

html:





    

Leave a Suggestion Here

% csrf_token % form.as_p

las js

$('#form').submit(function(e)
    $.post('/url/', $(this).serialize(), function(data) ... 
       $('.message').html(data.message);
       // of course you can do something more fancy with your respone
    );
    e.preventDefault();
);

las vistas.py

import json
from django.shortcuts import *
from django.template import RequestContext
from linki.forms import *

def advert(request):
    if request.method == "POST":
        form = AdvertForm(request.POST)

        message = 'something wrong!'
        if(form.is_valid()):
            print(request.POST['title'])
            message = request.POST['title']

        return HttpResponse(json.dumps('message': message))

    return render_to_response('contact/advert.html',
            'form':AdvertForm(), RequestContext(request))

de esa manera pones la respuesta en el message div. en lugar de devolver html simple, debe devolver json.


valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *