没有通过ajax的帖子数据通过django视图 [英] not going through the django view through ajax post data

查看:130
本文介绍了没有通过ajax的帖子数据通过django视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个登录聊天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 (回应){
警报( 成功);
window.location ='file:///android_asset/www/posts.html';
},
错误:function(){
alert('login in login');
}
});
返回false;
});
});

我的django views.py

  @csrf_exempt 
def login_android(请求):
打印我在看
如果request.method ==POST:
打印你在方法
username = request.POST ['name']
password = request.POST ['password']
login_api(请求,用户名,密码)
#return HttpResponseRedirect('/ home /')
messages.success(请求,你成功登录
response = json.dumps(username)
return HttpResponse(response,mimetype = application / json)

当我点击登录按钮时,我得到警觉,但没有进入查看。网址是正确的。

解决方案

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



当您尝试 window.location ='file:///android_asset/www/posts.html';
您正在尝试访问本地资源。如果我发表在我的Chrome开发人员工具我收到
不允许加载本地资源:file:///android_asset/www/posts.html



如果你使用 window.location.replace(你的视图的url); 这将像HTTP重定向
了解更多信息重定向页面



,您应该可以看到您的观点。


I am doing the login throgh ajax. jquery function is working fine but its not going to the ajax url. So django view is not getting executed.

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

My 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")

When i click on login button i am getting alert but its not getting entered to view. Url is correct.

解决方案

I would first recommend using Chrome with the developer tools console open. You could change you alerts for console.log().

When your trying window.location = 'file:///android_asset/www/posts.html'; You are trying to access a local resource. If I post that in my Chrome developer tools I get back Not allowed to load local resource: file:///android_asset/www/posts.html

If you would use window.location.replace("a url to your view"); this will work like a HTTP redirect. for more information redirect page

and you should be able to see your view.

这篇关于没有通过ajax的帖子数据通过django视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆