Web必知概念

一、设计原型

MTV模型(django):

M:模型层(models.py)
T:templates
V:views

MVC模型:

M:模型层(models.py)
V:视图层(views.py)
C:控制器(Controller) urls.py

django的MTV也是MVC,叫法不一样,设计不一样,但本质一样。

二、前后端数据传输格式

urlencoded
    对应的数据格式:name=jason&password=666
    后端获取数据:request.POST
    ps;django会将urlencoded编码的数据解析自动放到request.POST
formdata
    form表单传输文件的编码格式
    后端获取文件格式数据:request.FILES
    后端获取普通键值对数据:request.POST
application/json
    ajax发送json格式数据
    需要注意的点
        编码与数据格式要一致

三、Ajax异步请求

1.前端有哪些方式可以朝后端发请求

浏览器窗口手动输入网址         get请求
a标签的href属性              get请求
form表单                    get/post请求(默认是get请求)
ajax                        get/post请求

2.ajax特点:

异步提交
局部刷新

3.ajax基本语法

提交的地址(url)
提交的方式(type)
提交的数据(data)
回调函数(success)
$('#d1').click(function () {
        $.ajax({
            // 提交的地址
            url:'/index/',
            // 提交的方式
            type:'post',
            // 提交的数据
            data:{'name':'jason','password':'123'},
            // 回调函数
            success:function (data) {  // data接收的就是异步提交返回的结果
                alert(data)
            }
        })
    })

4.ajax默认传输数据

编码格式也是urlencoded

5.前后端传输数据

你不能骗人家,数据是什么格式就应该告诉别人是什么格式(数据与编码要一一对应)

$('#d1').click(function () {
       $.ajax({
           url:'',  // url参数可以不写,默认就是当前页面打开的地址
           type:'post',
           contentType:'application/json',
           data:JSON.stringify({'name':'jason','hobby':'study'}),
           success:function (data) {
               {#alert(data)#}
               {#$('#i3').val(data)#}
           }
       })
    });

6.ajax传输文件

$('#d1').click(function () {
   let formdata = new FormData();
   // FormData对象不仅仅可以传文件还可以传普通的键值对
    formdata.append('name','jason');
    // 获取input框存放的文件
    //$('#i1')[0].files[0]
    formdata.append('myfile',$('#i1')[0].files[0]);
    $.ajax({
        url:'',
        type:'post',
        data:formdata,
        // ajax发送文件需要修改两个固定的参数
        processData:false,  // 告诉浏览器不要处理我的数据
        contentType:false,  // 不要用任何的编码,就用我formdata自带的编码格式,django能够自动识别改formdata对象
        // 回调函数
        success:function (data) {
            alert(data)
        }
    })
});

7.form表单与ajax异同点

1.form表单不支持异步提交局部刷新
2.form表单不支持传输json格式数据
3.form表单与ajax默认传输数据的编码格式都是urlencoded

猜你喜欢

转载自www.cnblogs.com/xufengfan/p/11026043.html
今日推荐