No pasar por la vista de django a través de datos de publicación de ajax

Estoy haciendo el login a través de ajax. La función jquery está funcionando bien, pero no va a la url ajax. Así que la vista django no se está ejecutando.

Ajax.html

$(function() { localStorage['domain'] = "http://122.172.64.142"; var domain = localStorage['domain']; $('#fac1').on('click', function () { var username = $("#username").val(); var password = $("#pwd").val(); data = { name: username, password: password }; alert(domain); $.ajax({ url: domain + "/login/login_android_here/", type: "POST", data: data, success: function (response) { alert("success"); window.location = 'file:///android_asset/www/posts.html'; }, error: function () { alert('some error in login'); } }); return false; }); }); 

Mi django views.py

 @csrf_exempt def login_android(request): print "i am in view" if request.method == "POST": print "you are in method" username = request.POST['name'] password = request.POST['password'] login_api(request,username,password) #return HttpResponseRedirect('/home/') messages.success(request, 'You Loged In Successfully') response = json.dumps(username) return HttpResponse(response, mimetype="application/json") 

Cuando hago clic en el botón de inicio de sesión recibo una alerta pero no se ingresa para ver. La url es correcta.

Primero recomendaría usar Chrome con la consola de herramientas de desarrollador abierta. Podrías cambiar tus alertas para console.log() .

Cuando intente window.location = 'file:///android_asset/www/posts.html'; Estás intentando acceder a un recurso local. Si publico eso en mis herramientas de desarrollador de Chrome, no puedo Not allowed to load local resource: file:///android_asset/www/posts.html

Si usaría window.location.replace("a url to your view"); Esto funcionará como una redirección HTTP. para más información redirigir página.

y deberías poder ver tu vista.

Me hicieron un error tonto. He proporcionado una dirección de dominio incorrecta en esta página. Ahora funcionó.

 localStorage['domain'] = "http://122.172.64.142"; 

Esta dirección estaba equivocada. Es por eso que no pudo entrar a la vista.

Olvidaste dataType ajax param

 $.ajax({ url: domain + "/login/login_android_here/", type: "POST", data: data, dataType : 'json', //dataType param IS MISSING success: function (response) { alert("success"); window.location = 'file:///android_asset/www/posts.html'; }, error: function () { alert('some error in login'); } });