Ajax

来源:互联网 发布:淘宝商城男装休闲t恤 编辑:程序博客网 时间:2024/06/05 09:00

Ajax主要作用:
把数据发到后台,但是不刷新页面,然后后台再给前端一个提示

一、发送的格式
给对应标签(submit)绑定事件,利用jQery发请求,下面是一个固定格式

$.ajax({    url:'',    type:'POST/GET',   #GET或者POST    data:{'k1':123,'k2':'root'}    traditional:true,    #加入value有列表的时候,必须加上这个参数,才能把数据发送到后端    dataType:'JSON',     #设置了这个参数,从后端传过来的数据就是一个对象,我们也就不用再执行json.parse(data)     success:function(data){   #匿名函数,只有等服务器端返回数据回加载到data里面,才会执行这里面的函数    //json.parse(data)    #将后端传来的数据转化成对象    }})

补充:

$.get(url='',data='',success=)$.post这两种方法都是调用$.ajax的方法,只不过是将type里面传了参数get或者post

二、利用ajax发送请求,返回的时候,最好用HttpResponse
在给用户返回的时候,默认返回字典

import jsondef test_ajax(request):    ret = {'status':True,'error':None,'data':None}    try:        pass    except Exception as e:        ret['status'] = False        ret['error'] = '请求错误'    return HttpResponse(json.dumps(ret))

前端处理(在json中可以用点处理):
在js中将对象转换成字符串

    obj = JSON.parse(data)    if(obj.status){        location.reload()   #刷新页面        location.href = 'URL'  #跳转到指定的URL    }else{        #在页面上加一个标签,里面是空白的,然后用js赋值        $('').text(obj.error)    }

三、jQuery获取form标签里面所有值

data:$('#edit_form').serialize()    #将所有input标签里面的数据以字典形式