Ajax简介

  • 一门异步的加载技术,局部刷新
  • 异步加载,可以在不重载整个网页的前提下,进行局部刷新
  • 分为原生和JQ两种

JSON数据格式

  • Json对象转字符串: JSON.stringify()
  • 字符串转Json对象:JSON.parse()
<script type="text/javascript">
var obj = {"name": "JiYu", "age": "99"};
//json数据 可读可写
console.log(obj);
console.log(typeof obj);
console.log(obj.name);
obj.name = "NianHua";
console.log(obj); // json遍历
for (var key in obj) {
console.log(key + ":" + obj[key])
} // json对象转字符串
var obj_string = JSON.stringify(obj);
console.log(obj_string);
console.log(typeof obj_string); // 字符串对象转json:键值对的引号必须是双引号
var obj_json = JSON.parse(obj_string);
console.log(obj_json);
console.log(typeof obj_json);
</script>

前后端数据交互

  • html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>前后端数据交互</title>
</head>
<body>
<form action="/" method="post">
用户名:<input type="text" placeholder="请输入用户名" name="user"><br>
密&emsp;码:<input type="password" placeholder="请输入密码" name="pwd"><br>
<input type="submit" value="提交"> <input type="reset" value="重置">
</form>
</body>
</html>
  • py文件
import tornado.ioloop
import tornado.web class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("Demo.html")
def post(self):
user = self.get_argument("user")
pwd = self.get_arguments("pwd")
print("用户名:",user)
print("密码:",pwd) if __name__ == "__main__":
# 路由
application = tornado.web.Application([
(r"/", MainHandler),
])
application.listen(8888)
tornado.ioloop.IOLoop.current().start()

Ajax局部刷新

  • 导入jquery
  • 使用方式
    • $.ajax({...})
    • $.get({...})
    • $.post({...})
  • html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ajax局部刷新</title>
</head>
<body> <input type="text" name="a">+
<input type="text" name="b">=
<input type="text" name="c"><br>
<button id="btn">计算</button> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script>
// 获取元素
var inp = $("input");
var btn = $("#btn");
btn.click(function () {
// 获取元素值
var a = inp.eq(0).val();
var b = inp.eq(1).val();
// 方法一:ajax
$.ajax({
//get、post不用写type
'type': 'post',
// 提交的地址
'url': '/',
// 传给后台的数据
'data': {
'aaa': a,
'bbb': b
},
// 成功之后的回调函数
'success': function (data1) {
res = data1['result'];
inp.eq(2).val(res);
}
})
// 方法二:get
// $.get({});
// 方法三:post
// $.post({});
})
</script>
</body>
</html>
  • py文件
import tornado.ioloop
import tornado.web class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("Demo.html") def post(self):
# 根据键取前台传来的值
a = int(self.get_argument('aaa'))
b = int(self.get_argument('bbb'))
result = a + b
return_data = {'result':result}
# 返回数据
self.write(return_data) if __name__ == "__main__":
# 路由
application = tornado.web.Application([
(r"/", MainHandler),
])
application.listen(8888)
tornado.ioloop.IOLoop.current().start()

Ajax 的基本使用的更多相关文章

  1. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  2. Ajax及跨域

    概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...

  3. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  4. ABP文档 - Javascript Api - AJAX

    本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...

  5. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  6. 调用AJAX做登陆和注册

    先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...

  7. Ajax 概念 分析 举例

    Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...

  8. ajax

    常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...

  9. 学习笔记之MVC级联及Ajax操作

    由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...

  10. javascript表单的Ajax 提交插件的使用

    Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...

随机推荐

  1. 北冥'sfish

    北冥咸鱼,其名为鲲.鲲之大,long long存不下.化而为鸟,其名为鹏.鹏之背,高精被卡废.怒而颓,其码若怪诞之吟.是咸鱼,颓废则将遇上cz.cz谁,大佬也.<大佬说>者,志奆者也.&l ...

  2. 【RN - 基础】之React Native组件的生命周期

    下图描述了React Native中组件的生命周期: 从上图中可以看到,React Native组件的生命周期可以分为初始化阶段.存在阶段和销毁阶段. 实例化阶段 实例化阶段是React Native ...

  3. Process用法与进程详解

    僵尸与孤儿进程 僵尸进程:父进程的子进程结束的时候父进程没有wait()情况下子进程会变成僵尸进程 孤儿进程(无害) 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿 ...

  4. 获取JVM转储文件的Java工具类

    在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法.这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获 ...

  5. VMware修改默认开机方式

    .首先删除已经存在的符号链接 ---------------------------------------------------------------------------------- rm ...

  6. 学习AI之NLP后对预训练语言模型——心得体会总结

    一.学习NLP背景介绍:      从2019年4月份开始跟着华为云ModelArts实战营同学们一起进行了6期关于图像深度学习的学习,初步了解了关于图像标注.图像分类.物体检测,图像都目标物体检测等 ...

  7. 带着canvas去流浪系列之九 粒子动画

    [摘要] canvas实现粒子动画 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 粒子特效 粒子特效一般指密集点阵效果,它并不是canvas独有 ...

  8. 漫谈边缘计算(三):5G的好拍档

    边缘计算的热度迅速攀升,还有一个不得不提的因素,就是5G的发展. [5G推动云计算从集中化向分布式演进] 在第一篇文章(<漫谈边缘计算(一):边缘计算是大势所趋>)中我提到,传统的云计算技 ...

  9. JMeter 实用插件配置

    插件下载地址:链接 观察实时TPS,TRT,多用户负载图. 将 jpgc-graphs-dist-2.0.zip 解压缩至jmeter下的lib目录下,重启jmeter Transactions pe ...

  10. mac查看开关机记录-last命令

    命令 last | grep reboot (查看开机时间记录) last | grep shutdown (查看关机时间记录) /var/log/messages日志中查询reboot(系统重启) ...