Django AJAX

Posted wt7018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django AJAX相关的知识,希望对你有一定的参考价值。

一、概念

JS和XML文件异步操作(不改变整个页面的情况下进行数据交互),现在XML,基本上是json文件

二、格式

$.ajax(
            url: "/ajax_add/",
            type: "GET",
            data: "i1": $("#i1").val(), "i2": $("#i2").val(),
            success: function (data) 
                $("#i3").val(data);
            

1、url: 数据提交的地址

2、type: 数据提交的类型

3、data: 数据字典的形式

4、success: 结束后端响应的数据

注意:前面三个是请求,第四步是接收后端响应的数据

三、AJAX处理csrf

1、原始

a、在html中添加

% csrf_token %

b、在data中添加csrf_token对应input的 键值对

"csrfmiddlewaretoken" : $("[name=‘csrfmiddlewaretoken‘]").val()

2、官放推荐

function getCookie(name) 
    var cookieValue = null;
    if (document.cookie && document.cookie !== ‘‘) 
        var cookies = document.cookie.split(‘;‘);
        for (var i = 0; i < cookies.length; i++) 
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) === (name + ‘=‘)) 
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            
        
    
    return cookieValue;

var csrftoken = getCookie(‘csrftoken‘);

function csrfSafeMethod(method) 
  // these HTTP methods do not require CSRF protection
  return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));


$.ajaxSetup(
  beforeSend: function (xhr, settings) 
    if (!csrfSafeMethod(settings.type) && !this.crossDomain) 
      xhr.setRequestHeader("X-CSRFToken", csrftoken);
    
  
);

保存到一个JS文件,并像JQuery一样引用即可

 

以上是关于Django AJAX的主要内容,如果未能解决你的问题,请参考以下文章

Django--系列学习

Django - 学习目录

Django的学习之路

如何通过ajax Django发布复选框数据?

Ajax Django 添加按钮未在第一次单击时添加

Django初识