JSON

2.JSON

1.JSON介绍

​ JSON:JavaScript Object Notation

​ 在ajax中,允许将 复杂格式的响应数据 构建成 JSON的格式再进行响应

2.JSON表现

1.JSON表示单个对象

​ 1.使用 {} 表示单个对象

​ 2.在 {} 中使用 key:value 的形式来表示属性(数据)

​ 3.Key必须要用 " " 引起来

​ 4.value如果是字符串的话,也需要用" "引起来

    var obj = {
            "name":"王老师",
            "age" : 30,
            "gender" : "Unknown"
    }
2.JSON表示一个数组

​ 1.使用 [] 表示一个数组

​ 2.数组中允许包含若干JSON对象 或 字符串

​ 1.使用JSON数组表示若干字符串

	var arr = ["王伟超","王夫人","王小超"];

​ 2.使用JSON数组表示若干对象

    var arr = [
        {
            "name":"王老师",
            "age":30,
            "gender":"男"
                            },
        {
            "name":"王夫人",
            "age":28,
            "gender":"男"
                            }
        ];
3.后台处理JSON

​ 在后台查询出数据再转换为JSON格式的字符串,再响应给前端

​ 1.后台先获取数据

​ 类型允许为:元组|列表|字典

​ 2.在后台将数据转换为符合JSON格式的字符串

​ 3.在后台将JSON格式的字符串进行响应

4.Python中的JSON处理
    import json
    jsonStr = json.dumps(元组|列表|字典)
    return jsonStr

​ Django中的JSON处理

#方法1 使用Django中提供的序列化类来完成QuerySet到JSON字符串的转换
from django.core import serializers
json_str = serializers.serialize('json',QuerySet)
return HttpResponse(json_str)

#方法2
d = {'a': 1}
return JsonResponse(d)

5.前端中的JSON处理

​ 服务器端响应回来的数据是 String,需进行转换

JSON对象=JSON.parse(JSON字符串)

jquery对 ajax 的支持

1.$obj.load()

​ 作用:载入远程的HTML文件到指定的元素中

$obj.load(url,data,callback)
	$obj:显示响应内容的jq元素
	url:请求地址
	data:请求参数(可省略)
		方式1:字符串传参
		"key1=value1&key2=value2"
		注:此种传参会使用 get 方式发送请求
		方式2:使用JS对象传参
		{
   		 key1:"value1",
         key2:"value2"
		}
		注:此种传参会使用 post 方式发送请求
	   callback:响应成功后的回调函数(可省略)

2.$.get() 和 $.post()

​ 作用:通过get方式异步的向远程地址发送请求

$.get(url,data,callback,type)
		url:请求地址
		data:传递到服务器端的参数
		可以是字符串 :"name=sf.zh&age=18"
		也可以是js对象:
			{
				name:"sf.zh",
				age:18
			}
		callback:响应成功后的回调函数
        ex: function(data){
           console.log(data)
        }
		type:响应回来的数据的格式
			取值如下:
			1.html : 响应回来 的文本是html文本
			2.text : 响应回来的文本是text文本
			3.script : 响应回来的文本是js执行脚本
			4.json : 响应回来的文本是json格式的文本
            
$.post  -> 请求头中的Content-Type:application/x-www-form-urlencoded; charset=UTF-8  
即为表单post提交。 后台django可通过request.POST获取数据 

考虑 csrf_token ->  请求参数里 拼上
csrfmiddlewaretoken
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值