ajax的json格式数据

什么是Ajax:

通过js语言跟后台进行交互的一个东西

-特点:异步,局部刷新

ajax往后台提交数据

$.ajax({

url:‘请求的地址‘,

type:‘get/post‘,

data:{key:value,key2:value2},

success:function(data){

alert(data)

}

})

1 后台返回json格式

2 问?返回render,返回redirect?

基于ajax写一个登陆功能,一旦登陆成功,跳转到百度,登陆失败,在页面显示用户名或密码错误

总结:

1 后端如果返回JsonResponse,前端的ajax内部会自动将json格式字符串转换成字典

2 后端如果返回HttpResponse,前端的ajax内部不会给你自动转换,拿到的data是字符串类型,需要手动JSON.parse(data)来转成字典

3 字符串转字典:JSON.parse(data)

字典转字符串:aa=JSON.stringify(字典对象)

4 如果前端传的格式是json格式,django不会处理body中的内容,需要自己处理

只有前端传的格式是urlencoded,form-data格式,django才会给我处理

 前段: $(‘.btn‘).click(function () {
         data1={name:$(‘.name‘).val(),pwd:$(‘.pwd‘).val()};
        $.ajax({

            url:‘/login/‘,
            type:‘post‘,
            contentType:‘application/json‘,
            data:JSON.stringify(data1),
            {#data:data1,#}
            success:function (data) {
                $(‘.p1‘).text(data.msg)
            }
        })
    })
后台:def login(request):
#     if request.method == ‘GET‘:
#         return render(request, ‘login.html‘)
      if request.method == ‘POST‘:
#         print(request.POST)
#         print(request.body)
#         data = request.body.decode(‘utf-8‘)
#         data = json.loads(data)
#         print(type(data))
#         # name=data.get(‘name‘)
#         # pwd=data.get(‘pwd‘)
#         name = data[‘name‘]
#         pwd = data[‘pwd‘]
#         user = models.User.objects.filter(name=name,
#            pwd=pwd).first()
#
#         if user:
#             dic = {‘msg‘: ‘登陆成功‘}
#             return JsonResponse(dic)
#         else:
#             dic = {‘msg‘: ‘登录失败‘}
#             return JsonResponse(dic)
前段:
$(‘#submit‘).click(function () {
    $.ajax({
        url:‘/login/‘,
        type:‘post‘,
        data:{name1:$("#name").val(),pwd2:$("#pwd").val()},
        success:function (data) {
            //后台用JsonResponse返回数据
            //data 就会被转成字典
            console.log(data)
            console.log(typeof data)
            //JSON.parse(data) 把字符串类型转成字典
            data=JSON.parse(data)
            {#JSON.stringify()#}
            console.log(typeof dat1)
            if(data.status == 100){
                //成功,跳转到指定页面
                //location.href=地址,前端就会跳转到指定的url
                alert(data.msg)
                //$("#error").text(data.msg+‘正在跳转‘)
                //location.href=data.url
            }else{
                $("#error").text(data.msg)
            }
        }
    })
})
def login(request):
    dic={‘status‘:100,‘msg‘:None}
    if request.method == ‘GET‘:
        return render(request, ‘login.html‘)
    # if request.is_ajax():
    if request.method==‘POST‘:
        name=request.POST.get(‘name1‘)
        pwd=request.POST.get(‘pwd2‘)
        if name==‘lqz‘ and pwd==‘123‘:
            dic[‘msg‘] = ‘登陆成功‘
            # 想让前端跳转
            # dic[‘url‘]=‘http://www.baidu.com‘
            dic[‘url‘]=‘/test/‘
        else:
            # 返回json格式字符串
            dic[‘status‘]=101
            dic[‘msg‘]=‘用户名或密码错误‘
        # return JsonResponse(dic)
        return HttpResponse(json.dumps(dic))

原文地址:https://www.cnblogs.com/zhouhai007/p/10285175.html

时间: 2024-10-11 07:50:27

ajax的json格式数据的相关文章

spring mvc+ajax 实现json格式数据传递

使用ajax传递JSON对象 下面示例为ajax发送json对象,返回json格式数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $.ajax({ url: "api/user", type: "POST", timeout: txnTimeOut, async: true, dataType: "json", data: {username : "lucy"}

ajax发送json格式数据

前后端在做数据交互的时候 一定一定要表明你所发的的数据到底是什么格式 前段后交互 你不能骗人家,不然后端开发人员来找你的时候会抄着一根凳子腿. 你的数据时什么格式 你就应该准确无误告诉别人是什么格式 那么怎么告诉后端你要发送的数据的格式是什么呢 form 表单是通过 他的 enctype 而 ajax 是通过 contentType,如果你要传送的数据是json(通常只有json格式) 你需要这么写 contentType:'application/json' 要怎样发送一个json格式的数据呢

springmvc4.0配置ajax请求json格式数据

1.导入相关jar包:jackson-annotation-2.5.4.jar,jackson-core-2.5.4.jar,jackson-databind-2.5.4.jar. 2.spring-servlet.xml中相关配置: //命名空间加入mvc: xmlns:mvc="http://www.springframework.org/schema/mvc" //xsi:schemaLocation中补充: http://www.springframework.org/sche

ajax 提交 json格式数据到后台

例子:$.ajax({ type: 'POST', url: "/ROOT/modify.do", contentType: "application/json",//如果想以json格式把数据提交到后台的话,这个必须有,否则只会当做表单提交 data: JSON.stringify({"name":"sam","age":"12"}),//JSON.stringify()必须有,否则只

jQuery调用ajax获取json格式数据

<body> <div>点击按钮获取音乐列表</div> <input type="button" id="button" value="确定" /> <div id="result"></div> <div>添加新的音乐</div> <input type="text" name=""

yii框架Ajax返回Json格式数据方法

$model = ModelName::model()->findByPk($pid); //方法一 echo json_encode($model->attributes); //方法二 echo CJSON::encode($model);

Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Ajax 实现效果 contentType 前后端传输数据编码格式 ajax 提交数据 ajax发 json 格式数据 ajax 传文件 序列化组件 利用 sweetalert 搭建页面(弹窗) 弹窗中文支持不太好,手动修改样式 页面数据没刷新的问题 自定义分页器 批量插入测试数据 bulk_creat

jQuery获取JSON格式数据方法

getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result_data){ $.each(result_data, function(index, name_value){ $("div").append(name_value + &qu

ajax请求后台,返回json格式数据,模板!

添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="text/javascript">        //加载出部门的信息            function loadGroup(){                            $.ajax({                    type:"post",