Django_ajax

一、Ajax

通过jquery调用ajax
前端三步,地址,类型,传值
后台一步,success接受调用

           $.ajax({
                #传递地址
                url:'/test_ajax',
                # 传递类型
                type:'GET',
                #传递给后台的数据
                data:{user:'root',pwd:'123'},
                #成功后从后台返回的数据
                success:function (data) {
                   
                }

            })

二、后台联动

  • 入门理解
    html 页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input id="user" type="text">
<br>
<input id="pwd" type="text">
<a id="ajax_text">提交</a>
<script src="/static/jquery-1.12.4.js"></script>
<script>
    $(function () {
        $('#ajax_text').click(function () {
            $.ajax({
                url:'/test_ajax',
                type:'POST',
                data:{user:$('#user').val(),pwd:$('#pwd').val()},
                success:function(data){
                    #接收后台返回值
                    if(data=='ok'){
                        location.href='http://www.baidu.com'
                    }else{
                        alert(data);
                    }
                }
            })
        })
    })
</script>
</body>
</html>

views.py

def test_ajax(request):
    if request.method =='POST':
        u = request.POST.get('user')
        p = request.POST.get('pwd')
        if u and p:
            #返回给ajax接受的值
            return HttpResponse('ok')
        else:
            return HttpResponse('defeated')
    elif request.method =='GET':
        return  render(request,'ajax_text.html')
  • json 理解
    创建models.py知识点
1.创建字典例如    ret = {'status':True,'error':None,'data':None}
2.判断条件错误和异常时时给ret['status'],ret['error']分别赋值赋值
3.HttpResponse 只接受字符串,需要用json.dumps转码
def test_ajax(request):
    #提前封装好的字典
    ret = {'status':True,'error':None,'data':None}
    if request.method =='POST':
        try:
            u = request.POST.get('user')
            p = request.POST.get('pwd')
            if u and p:
                print(u,p)
            else:
                ret['status'] = False
                ret['error'] = '用户名密码错误'
      #异常处理
        except Exception as e:
            ret['status'] = False
            ret['error'] = '异常'
     #将字典转换成字符串
        import json
        return HttpResponse(json.dumps(ret))
    elif request.method =='GET':
        return  render(request,'ajax_text.html')

创建html的知识点

1.JSON.parse将字符串转换成字典

html

<input id="user" type="text">
<br>
<input id="pwd" type="text">
<span id="erro_msg"></span>
<a id="ajax_text">提交</a>
<script src="/static/jquery-1.12.4.js"></script>
<script>
    $(function () {
        $('#ajax_text').click(function () {
            $.ajax({
                url:'/test_ajax',
                type:'POST',
                 #form $(name).ser 
                data:{user:$('#user').val(),pwd:$('#pwd').val()},
                success:function(data){
                    var obj = JSON.parse(data)
                    #通过字典取值
                    if(obj.status){
                        location.href='http://www.baidu.com'
                    }else{
                        $('#erro_msg').text(obj.error);
                    }
                }
            })
        })
    })
</script>
</body>

jquery,属性隐藏法

 $('.edit').click(function () {

            $('.backgroud,.update').removeClass('hidden');
            #获取当前标签的父类属性
            var nid = $(this).parent().attr('nid');
            var ip = $(this).parent().attr('ip');
            var cid = $(this).parent().attr('cid');
            #赋值给当前标签
            $('.c').val(cid);
             $('.ip').val(ip);
            $('.nnid').val(nid);

        })

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容