zoukankan      html  css  js  c++  java
  • Django 使用jQuery实现ajax

    先说JSON(JavaScript Object Notation),JSON是用字符串来表示Javascript对象,是一种轻量级的数据交换格式。

    请大家记住一句话:json字符串就是js对象的一种表现形式(字符串的形式)

    需要注意的是,json对象是用双引号的,不能用单引号。

    json的数据类型和python的都很像,在python中,python对象转换json对象,可以使用json.dumps()转成json字符串进行保存(因为将dict直接保存到文本),再使用json.loads()转成python对象。

    json对象也有相应的方法做增删改查,和python差不多。

    将后端python对象转换为前端json对象过程如下图:

      让我们看一个带方法的json对象(object):

    var person = {"name":"alex",
                  "sex":"men",
                  "teacher":{
                     "name":"tiechui",
                      "sex":"half_men",
                  },
                  "bobby":['basketball','running'],
    
                   "getName":function() {return 80;}
                  };
    alert(person.name);
    alert(person.getName());
    alert(person.teacher.name);
    alert(person.bobby[0]);

    使用ajax时,Django向前端发送字符串,return HttpResponse(“ok”),此时括号中只能是字符串,当要想传输其他类型如dict,需要先json.dumps(dict)转换成json字符串,再传到前端,前端通过 parse() 来讲字符串转换成json对象来使用。

    parse()和.stringify() 说明:

    parse() 用于从一个json字符串中解析出json对象,如
    
    var str = '{"name":"yuan","age":"23"}'
    
    结果:JSON.parse(str)     ------>  Object  {age: "23",name: "yuan"}
    
    
    stringify()用于从一个json对象解析成json字符串,如
    
    var c= {a:1,b:2} 
    
    结果:  JSON.stringify(c)     ------>      '{"a":1,"b":2}'
    
    注意1:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
    注意2:
    
    a={name:"yuan"};   //ok
    b={'name':'yuan'}; //ok
    c={"name":"yuan"}; //ok
    
    alert(a.name);  //ok
    alert(a[name]); //undefined
    alert(a['name']) //ok

     Ajax实例:

    <script>
        $.ajax({
            url:"/",               // POST 或 GET 提交路径
            type:"POST",           // 数据提交类型
            data:{a:1,b:[3,4]},    // 传输到服务器端的数据
            traditional:true,      // 当data数据中有列表时,会进行深层次迭代,此设置可取消深层次迭代
            processData:true,      // 声明当前的data数据是否进行转码或预处理,默认为true,即预处理;该属性的意义在于,当data是一个dom
                                   // 结构或者xml数据时,我们希望数据不要进行处理,直接发过去就可以,将其设为true。
            contentType:"application/x-www-form-urlencoded",           // 发送信息至服务器时内容编码类型。 如果是"application/json",
                                                                        // 即向服务器发送一个json字符串(不是josn对象)
            dataType:"json",       // 预期服务器返回的数据类型。默认是不需要的,ajax会根据服务器返回的content Type来进行转换
    
    
    
        })
    </script>

    参考资料:http://www.cnblogs.com/yuanchenqi/articles/5997456.html

    未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 相关阅读:
    linux基本命令
    Charles抓包
    html5基础知识
    java流程控制
    Harry Potter and the sorcerer's stone-01 the Boy Who Lived
    java基础知识
    Java程序运行机制
    java基础相关(历史,特性,环境变量)
    markdown基本语法
    Dos相关知识
  • 原文地址:https://www.cnblogs.com/linpei/p/10620339.html
Copyright © 2011-2022 走看看