2017-02-02 3 views
1

Ich versuche, den Eingangswert durch mit Django mit Ajax funktioniert nicht funktioniert Ich hoffe, Sie können mir helfen Ich habe den Code den ganzen Tag gesehen und ich finde den Fehler nicht .Versuchen, Eingangswert durch Ajax mit Django

Es soll den Wert durch ein Warnfenster geben.

views.py

def form(request): 
    return render_to_response('prueba2.html') 

from django.views.decorators.csrf import csrf_exempt 
@csrf_exempt 
def form_ajax(request): 
    if request.is_ajax() and request.method == 'POST': 
     nombre = request.POST['nombre'] 
     return HttpResponse(nombre) 

file.html

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
</head> 
<body> 
<script type="text/javascript"> 
$(function() { 

$(document).on('submit', '#fomulario', function(e){ 
    e.preventDefault(); 

    $.ajax({ 
     type:'POST', 
     url:'http://127.0.0.1:8000/form_ajax/', 
     async: 'true', 
     data: $('#nombre').val(),  

     success: function(data) { 
       alert(data) 
      }, 

    }); 

}) 


}); 
</script> 

</body> 

<form id="fomulario"> 
<label for="Nombre">Nombre</label> 
<input type="text" name="nombre" id="nombre" value="hola"> 
<input type="submit"> 
</form> 

<div id="valor"></div> 

</html> 

Alle nehme richtig zu arbeiten, wenn ich so etwas wie dies zu machen:

views.py

def form(request): 
     return render_to_response('prueba2.html') 

    from django.views.decorators.csrf import csrf_exempt 
    @csrf_exempt 
    def form_ajax(request): 
     if request.is_ajax() and request.method == 'POST': 
      #nombre = request.POST['nombre'] 
      return HttpResponse('HELLO THIS IS ME...') 

Ich denke, Django nimmt nicht den Wert des Eingangsnamens.

Haben Sie eine Idee, wie Sie dieses Problem lösen können?

Antwort

0

Sie sollten den Parameternamen festlegen.

$.ajax({ 
    type:'POST', 
    url:'http://127.0.0.1:8000/form_ajax/', 
    async: 'true', 
    data: {nombre: $('#nombre').val()},  

    success: function(data) { 
     alert(data) 
    }, 

});