Django下使用Ajax技术相关配置

Django下如果想使用Ajax,仅仅配置相应的url,data,type是不够的。下面介绍一种解决方案:

第一步:引入jquery文件

<script type="text/javascript" src="/static/js/jquery-3.2.1.min.js"></script>
第二步:配置Ajax的url等信息

//将数据传输到后台
$.ajax({
    url:'/BC_DB/',//views文件中相应的处理函数(当然也要在urls.py中配置path)
    type:"POST",//传送方式
    data:JSON.stringify({//JOSN格式封装
        Simple_Oil_ID:OilName,//传送数据OilName,
        Simple_YH_Data:YH_Data,//传送数据YH_Data
    }),
    contentType:'application/json',
    traditional:true,//需要传递列表,字典时加上这句
    success:function (result) {
        if(result=='success')
        {
            //清空YH_Data数据
             YH_Data=[];
             //重置select
            var index=Select_TName.selectedIndex;//选中索引
            Select_TName.options.remove(index);
            alert("存入成功!");
        }
        else {
            alert("存入失败!");
        }
    },

第三步:创建一个名为AjaxDeal.js文件,当然可以用其他文件名。代码如下

function getCookie(name)
{
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

    if(arr=document.cookie.match(reg))

        return unescape(arr[2]);
    else
        return null;
}
$(function () {
    $.ajaxSetup({
        headers: { "X-CSRFToken": getCookie("csrftoken") }
    });
});

由于上面我使用的是json格式的传送方式,所以后台接受时要进行相应的转换,代码如下:

json_receive = json.loads(request.body)
ID=json_receive['Simple_Oil_ID']
YH_Data=[]
YH_Data=json_receive['Simple_YH_Data']



猜你喜欢

转载自blog.csdn.net/qq_32401031/article/details/80278744
今日推荐