没有通过ajax发布数据通过django视图

我正在登录throgh ajax。 jquery函数工作正常但它不会转到ajax url。 所以django视图没有被执行。

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; }); }); 

我的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") 

当我点击登录按钮时,我正在收到警报,但没有进入查看状态。 url是正确的。

我首先建议在打开开发人员工具控制台的情况下使用Chrome。 您可以更改console.log()警报。

当你尝试window.location = 'file:///android_asset/www/posts.html'; 您正在尝试访问本地资源。 如果我在我的Chrome开发者工具中发布该文章,我会回来Not allowed to load local resource: file:///android_asset/www/posts.html

如果你使用window.location.replace("a url to your view"); 这将像HTTP重定向一样工作。 了解更多信息重定向页面

你应该能够看到你的观点。

我犯了一个愚蠢的错误。 我在此页面上提供了错误的域名地址。 现在它奏效了。

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

这个地址错了。 这就是为什么它无法进入视图。

你忘了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'); } });