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

猜你喜欢

转载自www.cnblogs.com/linpei/p/10620339.html
今日推荐