Django(九)---ajax

ajax发送json格式的数据

        # ajax默认提交的数据格式是 urlencoded
        '''
            发送的数据类型和数据格式要保持一致
        '''

        $('.btn').click(function () {
                $.ajax({
                    url: '',
                    type: 'post',
                    data: JSON.stringify({'d1': 'aaa'}), // 序列化 json
                    contentType: 'application/json',  // 代表发送的数据是json格式
                    success: function (res) {
                        console.log(res)
                    }

                })
            })

ajax发送文件数据

        $('.btn').click(function () {
                // ajax上传文件需要借助于FormData
                // 1. 实例化FormData
                var obj = new FormData()

                // 增加数据
                obj.append('username', $('#username').val());
                obj.append('username', $('#password').val());

                // 增加文件数据
                obj.append('myfile', $("#myfile")[0].files[0])

                $.ajax({
                    url: '/upload_file/',
                    type: 'post',
                    data: obj, // 序列化 json

                    contentType:false, // 告诉浏览器不要修改提交的数据格式
                    processData:false,  // 告诉浏览器不要对提交的数据进行任何的更改
                    success: function (res) {
                        console.log(res)
                    }

                });
            })

django自带的序列化器

        from django.core import serializers
        def user_list(request):
            user_list = models.User.objects.all()  # queryset
            # lst = []
            # for user in user_list:
            #     temp_dict = {}
            #     temp_dict['username'] = user.username
            #     temp_dict['password'] = user.password
            #     lst.append(temp_dict)
            # import json
            # res=json.dumps(lst,)
            # return render(request, 'user_list.html', locals())
            # return HttpResponse(res)
            res = serializers.serialize('json', user_list)
posted @ 2022-04-03 13:32  丶祈安  阅读(23)  评论(0编辑  收藏  举报