首页
学习
活动
专区
圈层
工具
发布

使用AJAX获取Django后端数据

使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器。...但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-这时候就要用到AJAX了。 AJAX提供了一种将GET或POST请求发送到Django视图并接收任何返回的数据而无需刷新页面的方法。...将根据那些URL参数或查询字符串(如果使用的话)从数据库中检索数据。我们要发送回页面的数据必须在使用JsonResponse。 调用之前,请确保从django.http导入JsonResponse。...向Django发出POST请求时,我们需要包含csrf令牌以防止跨站点请求伪造攻击。Django文档提供了我们需要添加的确切JavaScript代码,以从csrftoken cookie中获取令牌。...可以向视图中添加其他逻辑(例如重定向),以防止用户尝试在没有AJAX请求的情况下访问视图时看到错误。

9.9K40

Django数据库查询优化与AJAX

orm相关的数据库查询优化 惰性查询 惰性查询指当我们只查数据库而不是用这些数据时,Django不会执行查询数据库的代码,目的是减少不必要的数据库操作,降低数据库的压力。...,目前我们需要了解的有三种:urlencoded、formdata、json form表单向后端发送数据的编码格式有两种,第一种是我们没有配置enctype时,它默认的编码格式是urlencoded,当我们发送文件时需要将...2.对JSON数据进行序列化。 3.Django后端针对json格式的数据不会做任何的处理,只是将数据原封不动的放在了request.body中,我们需要手动对其进行反序列化处理。...// 发送文件必须要指定的两个参数 contentType:false, // 不使用任何编码 MyFormData对象内部自带编码 django后端能够识别...from django.core import serializers #调用该模块下的方法,第一个参数是你想以什么样的方式序列化你的数据 ret=serializers.serialize

3.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    翻译 | 如何将 Ajax 与 Django 应用整合在一起?

    打个比方, 对 127.0.0.1:8000/hello 的 AJAX 调用将返回与直接访问它时获得的相同内容. 但这次,你只有一个 js 函数,你可以随意改造它....你会找到很多用 Django 视图发送的 JSON 数据的示例. 我没有给出详细说明, 因为怎么用一点并不重要 (关于这个的介绍比比皆是),更关键的是什么时候该用....答案就是 -- JSON数据是序列化数据 也就是你可以操纵的数据. 就像我提到的,AJAX 调用会获取响应,就像用户自己完成的一样....最后再添加 Ajax 当你准备构建一个 Web 应用程序并想要实现AJAX时 -- 拉自己一把, 首先, 构建一个完整的不包含 AJAX 的应用, 并且可以正常使用....最后再添加 Ajax 当你准备构建一个 Web 应用程序并想要实现AJAX时 -- 拉自己一把, 首先, 构建一个完整的不包含 AJAX 的应用, 并且可以正常使用.

    2.2K30

    09.Django基础七之Ajax

    里面写$(this)时要注意的问题:还有一点注意,如果你添加某些dom对象的时候,如果你想在不刷新页面的情况下来添加这个对象,那么你要注意,如果这个对象也需要绑定事件的话,你需要用on来给和他相同的标签对象来绑定事件...发送信息至服务器时内容编码类型。 用来指明当前请求的数据编码格式;urlencoded:?...同样也不难解释,为什么ajax请求时,需要从cookie中拿取token添加到请求头中。...你可以个性化处理句柄来个性化Django处理文件的行为。比如你可以使用个性化的处理句柄来强制用户配额,实时地压缩数据,渲染进度条,甚至在保存在本地的同时向另一个存储地发送数据。...4.ajax和服务端的数据交互时的序列化问题   当我们给ajax回复的不是一个字符串,而是其他数据类型的时候,需要我们将数据转换为json字符串进行发送,这样好配合js进行json字符串的处理,不然发送或者接受的是普通字符串的话

    4.6K20

    AJAX

    AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。...3.csrf防御 由于django默认post提交都会有csrf认证,需要添加CSRF token所以有两种解决方式 在djangoviews函数中添加免除csrf跨站保护 ```python from...django.views.decorators.csrf import csrf_exempt 然后给视图函数添加装饰器@csrf_exempt 或者 在js中添加 ```javascript $.ajaxSetup...发送信息至服务器时内容编码类型。...这里有json字符串和json对象两个概念 json字符串就是数据交换传输的信息格式,json对象其实是javascript对象的子集 数据传输或转换时,先将原数据转换成json字符串,使用时再将json

    5K20

    AJAX使用说明书

    ---- 其实这两个例子就使用了AJAX技术!当文件框发生了输入变化时,使用AJAX技术向服务器发送一个请求,然后服务器会把查询到的结果响应给浏览器,最后再把后端返回的结果展示出来。...注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。   json:返回JSON数据。   jsonp:JSON格式。使用JSONP形式调用函数时,例如myurl?...    this; //调用本次ajax请求时传递的options参数   } 12.contentType 要求为String类型的参数,当发送信息至服务器时。...data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataTYpe参数。函数返回的值将由jQuery进一步处理。...如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

    3.3K70

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

    Javascript 操作比较繁琐,我们这里为了方便使用,直接上手 jQuery 的 ajax Ajax 最大的优点:在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。...(这一特点给用户的感觉是在不知不觉中完成请求和相应过程) 用 Ajax 做一个小案例 页面上有三个 input 框,在前两个 input 框中输入数字,点击按钮发送 ajax 请求,在不刷新页面的情况下...ajax 提交数据 ajax 默认数据提交方式也是 urlencoded 不符合格式就不要了,前后端编码和数据格式一致就不会出现这个问题 ajax发 json 格式数据 django 后端针对...'#b1').on('click',function () { // 点击按钮 朝后端发送post请求 $.ajax({ url: '', // 控制发送给谁 不写就是朝当前地址提交...发送的数据 // ajax发送文件需要指定两个额外的参数 processData:false, // 告诉前端不要处理数据 contentType:

    7K31

    Django 2.1.7 查询数据返回json格式

    需求问题 在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。...在模板返回视图的方式的确很方便,但是如果涉及到动静分离、ajax请求这类,django就只能返回json格式的数据了。...那么这里就带来了一个问题,如何将django从数据库模型类中查询的数据以json格式放回前端。 然后前端如果获取读取返回过来的数据呢?...环境说明 前端采用jquery发送ajax请求 python 3.7.2 django 2.1.7 示例说明 这次示例首先写一个简单的页面发送ajax请求,然后后端分如何返回多行数据,如果返回查询对象进行示例说明...后端按照约束格式返回json数据 from django.core import serializers from django.http.response import JsonResponse from

    3.3K10

    Django 2.1.7 查询数据返回json格式

    需求问题 在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。...在模板返回视图的方式的确很方便,但是如果涉及到动静分离、ajax请求这类,django就只能返回json格式的数据了。...那么这里就带来了一个问题,如何将django从数据库模型类中查询的数据以json格式放回前端。 然后前端如果获取读取返回过来的数据呢?...环境说明 前端采用jquery发送ajax请求 python 3.7.2 django 2.1.7 示例说明 这次示例首先写一个简单的页面发送ajax请求,然后后端分如何返回多行数据,如果返回查询对象进行示例说明...后端按照约束格式返回json数据 from django.core import serializers from django.http.response import JsonResponse from

    3.9K20

    ajax 写法_常见词缀汇总

    AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。...注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。json:返回JSON数据。jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?...error: 要求为Function类型的参数,请求失败时被调用的函数。...this; //调用本次ajax请求时传递的options参数 } header: 在python框架django中前端发起ajax请求如果是post请求需要传csrf参数就是通过header传的...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.6K10

    Django MVT之V

    属性 path:字符串,表示请求的页面的完整路径,不包含域名和参数部分。 method:字符串,表示请求使用的HTTP方法,常用值包括:’GET’、’POST’。...这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。 GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。...content-type:指定返回数据的的MIME类型,默认为’text/html’。 JsonResponse 和 AJAX 这里使用jQuery来发起ajax请求,所以需要引入jQuery文件。...js发起ajax请求时,返回json格式的数据,此处以jquery的get()方法为例。...,而是转回到其它页面,如添加成功、修改成功、删除成功后显示数据列表,此时就需要模拟一个用户请求的效果,从一个视图转到另外一个视图,就称为重定向。

    2.7K20

    【全栈开发】---- 一文掌握Django的轮询、长轮询

    "> function sendMessage(){ var text = $("#txt").val(); {#Ajax,使页面不刷新的情况下...轮询的实现使用的 Ajax + setInterval 对于输入框的数据,使用 Ajax 在页面不刷新的情况下,将数据发给后台: function sendMessage(){ var text...= $("#txt").val(); {#Ajax,使页面不刷新的情况下,将数据发送给后台#} $.ajax({ {#发送url#}...其他用户发送请求: {#每隔2s向后台发送请求#} setInterval(function (){ {#发送请求获取数据#} $.ajax({...这时就可以使用长轮询,相较于轮询,长轮询的区别是前端发送的请求到后端,如果没有得到响应,不会立刻消失,而会等待几十秒,若在这几十秒内获取到了数据,则返回给前端,前端继续发请求;若没获取到数据,且等待响应超时

    47810

    Django---Ajax

    整个过程中页面没有刷新,只是局部刷新了; 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作; AJAX的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求; AJAX...发送信息至服务器时内容编码类型。 用来指明当前请求的数据编码格式;urlencoded:?...1 2 3 4 5 $.ajax({   headers:{"X-CSRFToken":$.cookie('csrftoken')},   }) ajax发送json类型的数据时,跨域伪造要采用此方法...a=1", true); 步骤2:  发送请求 当使用open打开连接后,就可以调用XMLHttpRequest对象的send()方法发送请求了。...7.2 案例分析 页面中给出注册表单; 在username表单字段中添加onblur事件,调用send()方法; send()方法获取username表单字段的内容,向服务器发送异步请求,参数为username

    5.6K101
    领券