Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

321
Visualizações
Cómo hacer una solicitud POST usando el marco DJANGO REST con ajax

Esta es mi clase modelo:

 class PoliceAssurance(models.Model): Numpolice = models.IntegerField() Raison = models.CharField(max_length=50) Tel = models.IntegerField() Email = models.CharField(max_length=50)

y aquí está mi serializador:

 class PoliceSerializer(serializers.ModelSerializer): class Meta: model = PoliceAssurance fields = ('Numpolice','Raison','Tel','Email');

Ahora, necesito hacer una solicitud POST a través de una llamada AJAX. ¿Alguien podría proporcionar información sobre cómo puedo abordar esta tarea?

esta es mi vista.py

 @login_required(login_url="login/") def home(request): return render(request,"home.html") class PoliceViewset(generics.ListCreateAPIView): queryset = PoliceAssurance.objects.all() serializer_class = PoliceSerializer

y mi urls.py

 urlpatterns=[ url(r'^$', views.home, name='home'), url(r'PoliceAssurance',views.PoliceViewset.as_view(), name='PoliceAssurance'), ]

esta es mi solicitud de ajax

 $(#suit).click(function(){ var data = {}; data.Numpolice = $(#num).val(); data.Raison = $(#raison).val(); data.Tel = $(#tel).val(); data.Email = $(#email).val(); $.ajax({ type: "POST", url: "/PoliceAssurance/", data: data, contentType: "application/json; charset=utf-8", dataType: "json", success: function(data){ alert(data); }, failure: function(errMsg) { alert(errMsg); } }); });
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

es posible que necesite ver esto, http://www.django-rest-framework.org/topics/ajax-csrf-cors/#javascript-clients y django docs en este enlace (detalle), y mi código me funciona bien gustos

 $.ajax({ url: 'your web url', type: 'POST', beforeSend: function (xhr, settings) { xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}'); }, success: function (arg) { location.reload() } })

Django rest framework no funciona como Django normal. Debe transferir "csrfmiddlewaretoken" en datos a "X-CSRFToken" o "HTTP-X-CSRFToken" en RequestHeader

over 4 years ago · Santiago Trujillo Relatório

0

Probablemente debe enviar la información CSRF junto con la solicitud Ajax, o eximir su vista. Ver aquí Si incluye esta función beforeSend en su ajax, puede funcionar:

 $.ajax({ type: "POST", ... beforeSend: function(xhr, settings) { if (!csrfSafeMethod(settings.type) && !this.crossDomain) { xhr.setRequestHeader("X-CSRFToken", {% csrf_token %}); } }, ...

Suponiendo que javascript sea parte de una plantilla, {% csrf_token %} puede obtener el csrftoken.

Espero que esto ayude.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda