Ajax与jQuery异步加载数据

2023-05-16

本文共1096个字,预计阅读时间需要4分钟。

简介

一次性从服务器数据库中读取数据并传送到前端页面上是不现实的,一方面会加重服务器的压力,另一方面客户的带宽资源也会被占用。Ajax刚好可以解决数据异步加载的问题。Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。

由于用 jQuery 实现 ajax 比较简单,因此接下来的代码引用jQuery库实现Ajax,另外使用Django作为框架。
在这里插入图片描述

其中jQuery可以手动下载放到本地文件夹中,也可以引用下面的语句。

<script src="https://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>

HTML语句

类别为demo的div将展示Ajax数据

( d o c u m e n t ) . r e a d y ( f u n c t i o n ( ) ) 指 页 面 其 他 元 素 加 载 完 成 后 开 始 加 载 A j a x 数 据 , 此 时 , 浏 览 器 不 会 有 加 载 条 和 转 圈 的 情 况 出 现 。 当 然 也 可 以 改 为 点 击 某 个 元 素 加 载 例 如 (document).ready(function(){})指页面其他元素加载完成后开始加载Ajax数据,此时,浏览器不会有加载条和转圈的情况出现。当然也可以改为点击某个元素加载例如 (document).ready(function())Ajax(‘#demo’).click(function(){})。

. g e t J S O N ( ‘ / a j a x s e r v e r / ’ , f u n c t i o n ( r e t ) 指 从 D j a n g o 的 v i e w . p y 中 的 函 数 a j a x s e r v e r 读 取 J S O N 数 据 , 数 据 通 过 .getJSON(‘/ajax_server/’,function(ret)指从Django的view.py中的函数ajax_server读取JSON数据,数据通过 .getJSON(/ajaxserver/,function(ret)Djangoview.pyajaxserverJSON(‘#demo’).append(ret)展示到div中。也可以使用document.getElementById(“demo”).innerHTML = ret;来展示数据。

<!DOCTYPE html>
<html>
<body>

<div class = "demo"></div>
 
<script src="https://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
      $.getJSON('/ajax_server/',function(ret){
            $('#demo').append(ret)
      })
    });
</script>
</body>
</html>

view.py(Django)

添加

def ajax_server(request):
    data_dict = {'xxx': 'omegaxyz.com', 'yyy': 'zzz'}
    return JsonResponse(data_dict)

urls.py(Django)

添加

url(r'^ajax_server/$', 'tools.views.ajax_server', name='ajax_server'),

缺陷

对应用Ajax最主要的批评就是,它可能破坏浏览器的后退与加入收藏书签功能。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的可能差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,HTML5之前的方法大多是在用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态)。

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020-2025 • OmegaXYZ-版权所有 转载请注明出处

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ajax与jQuery异步加载数据 的相关文章

随机推荐

  • macOS Catalina常见问题汇总

    本文共535个字 xff0c 预计阅读时间需要2分钟 作为一个伪程序员 xff0c 我来说说macOS Catalina的一些软件兼容性和注意点 macOS Catalina 正式版无法使用的APP 有道词典闪退 brew版本过低的加载错误
  • Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

    Graphviz的可执行文件 http www graphviz org Download windows PHP 参考 xff1a http blog csdn net u014749291 article details 5489108
  • 计算机保研-中科院计算所霸面(笔试面试)

    基本情况 xff1a 学校 xff1a 末流211 排名 xff1a 1 70 绩点 xff1a 4 33 5 0 竞赛 xff1a 无ACM xff0c 有某水赛国奖 xff08 中国人工智能学会主办 xff09 科研 xff1a 一篇水
  • 计算机保研-中科大计算机

    Abstract 2019年中科大计算机夏令营比往年增加了不少难度 xff0c 统一增加了机试环节 xff0c 面试难度提高 xff08 陈恩红实验室和李向阳实验室向来包含机试 xff09 xff0c 最终录取率在60 左右 xff08 往
  • NSGA-II资料合集

    关于NSGA II的一些资料 NSGA II中文翻译 MATLAB代码 NSGA II的解释 简介 关于演化计算 生物系统中 xff0c 进化被认为是一种成功的自适应方法 xff0c 具有很好的健壮性 基本思想 xff1a 达尔文进化论是一
  • 简单区块链Python实现

    什么是区块链 区块链是一种数据结构 xff0c 也是一个分布式数据库 从技术上来看 xff1a 区块是一种记录交易的数据结构 xff0c 反映了一笔交易的资金流向 系统中已经达成的交易的区块连接在一起形成了一条主链 xff0c 所有参与计算
  • 复旦大学计算机保研夏令营

    Abstract 复旦的夏令营 xff1a 自由而无用 xff0c 一期招了200人入营 xff0c 不提供住宿 xff08 导致我租了个旅馆每天要骑单车来学校 xff0c 不过沿途环境不错 xff0c 有很多吃的地方 xff09 xff0
  • 计算机保研夏令营预推免

    夏令营与预推免个人情况 学校 xff1a 末流211 xff08 安徽大学 xff09 排名 xff1a 1 70绩点 xff1a 4 33 5 0竞赛 xff1a 无ACM xff0c 有某水赛国奖 xff08 中国人工智能学会主办 xf
  • 知识图谱嵌入的应用场景

    In KG应用 xff08 在 KG 范围内的应用 xff09 链接预测 xff08 Link prediction xff09 链接预测任务有时也称为实体预测或实体排序 xff0c 用来预测两个实体之间是否有特定的关系 即已知头实体h和关
  • Neo4j数据导入与可视化

    本文共1262个字 xff0c 预计阅读时间需要5分钟 简介 Neo4j是一个高性能的NoSQL图形数据库 xff0c 它将结构化数据存储在网络上而不是表中 它是一个嵌入式的 基于磁盘的 具备完全的事务特性的Java持久化引擎 xff0c
  • 用户身份链接方法——DeepLink

    论文 xff1a DeepLink A Deep Learning Approach for User Identity Linkage UIL xff08 User Identity Linkage xff09 xff1a 用户身份链接
  • 可视化图布局算法简介

    Fruchterman Reingold FR FR算法将所有的结点看做是电子 xff0c 每个结点收到两个力的作用 xff1a 其他结点的库伦力 xff08 斥力 xff09 f a d
  • Windows无法连接到打印机怎么办?快收藏这些正确做法!

    案例 xff1a Windows无法连接到打印机怎么办 xff1f 朋友们朋友们 xff0c 最近为了备考国考 xff0c 我特地买了个打印机回来打印资料 xff0c 但是我的Windows无法连接到打印机 xff0c 这是为什么呢 xff
  • Python爬虫Scrapy入门

    Scrapy组成 Scrapy是Python开发的一个快速 高层次的屏幕抓取和web抓取框架 xff0c 用于抓取web站点并从页面中提取结构化的数据 引擎 xff08 Scrapy xff09 xff1a 用来处理整个系统的数据流 xff
  • Mac下终端pip与pip3配置(软链接)

    缘起 今日Mac上的Python环境绝对是个asshole 系统自带一个Python2 7我官网下载一个3 6homebrew悄悄下了个3 xanaconda自带了一个3 x前天更新了一下Xcode命令行工具 xff0c 竟然给我偷偷下了个
  • 推荐系统摘要

    作为一个推荐系统的门外汉 xff0c 或者说是用户 xff0c 我觉得推荐系统有以下几个特性 推荐系统的真实目的并不是做到让用户满意 xff0c 而是提高销售能力 xff0c 业务水平和收益 一个好的推荐系统并不是推荐用户最喜爱 想要的东西
  • 数据分析岗位面试必备

    业务逻辑 数据分析遵循一定的流程 xff0c 不仅可以保证数据分析每一个阶段的工作内容有章可循 xff0c 而且还可以让分析最终的结果更加准确 xff0c 更加有说服力 一般情况下 xff0c 数据分析分为以下几个步骤 xff1a 业务理解
  • 基于LDA的文本主题聚类Python实现

    LDA简介 LDA xff08 Latent Dirichlet Allocation xff09 是一种文档主题生成模型 xff0c 也称为一个三层贝叶斯概率模型 xff0c 包含词 主题和文档三层结构 所谓生成模型 xff0c 就是说
  • Neo4j-import导入CSV的数据

    本文共1215个字 xff0c 预计阅读时间需要4分钟 最近有个上亿个关系 节点的数据需要导入到Neo4j xff0c 有以下几个工具可以导入 xff1a Cypher CREATE 语句 xff0c 为每一条数据写一个CREATECyph
  • Ajax与jQuery异步加载数据

    本文共1096个字 xff0c 预计阅读时间需要4分钟 简介 一次性从服务器数据库中读取数据并传送到前端页面上是不现实的 xff0c 一方面会加重服务器的压力 xff0c 另一方面客户的带宽资源也会被占用 Ajax刚好可以解决数据异步加载的