【建站系列教程】3.2、ajax介绍

  • ajax的应用场景
    • 1、form表单实现无跳转提交
    • 2、ajax局部刷新代替刷新网页
  • ajax的通俗介绍
  • ajax的基本用法
  • ajax的ES写法

写在前面:大家好,我是热爱编程的小泽
【建站系列教程】是我的亲身建站经历写给广大建站同胞们的教学博客。
喜欢的话点个赞吧~ 评论区欢迎交流讨论~

ajax仍然是站长必会的一个知识,但是在我看来,ajax还是有很多安全性的问题,安全性问题,我会在下一篇博客进行总结。

ajax的应用场景

1、form表单实现无跳转提交

一般情况下,form表单的语法为:

 <form action='server.php' methon='POST'><input ……<button type='submit'>submit</button></form>

每当点击按钮submit之后,本页面会跳转到server.php页面,由server.php文件处理数据,之后再由server.php文件里面的代码执行跳转到原来页面。
  因为每次提交都会跳转到php文件,然后再跳转回来很影响体验。所以现在提出一个需求,点击按钮,不跳转执行php文件。

ajax能实现。

2、ajax局部刷新代替刷新网页

很多时候,一些更改之后的数据都是需要用户刷新之后才能显示,现在可以实现在网页里面局部刷新。

ajax能实现。

ajax的通俗介绍

ajax全称是Asynchronous JavaScript And XML,让数据在后台进行异步传输。再通俗一点地说,我们可以使用js的ajax技术直接请求服务器上的内容,而不是必须使用php等后端语言。
  需要注意的是,ajax有js原生版本的,也有jquery版本的,还有其他版本。ajax只是对浏览器js脚本的XMLHttpRequest 对象 (异步的与服务器交换数据)等的封装,并不是新的技术。

ajax的基本用法

这里推荐jq的ajax,用习惯了。只要js标签引入了jq就能使用jq的ajax。
给出最常用的写法:

 $.ajax({ url: "http://www.xxx.com/xxx",  //请求的urlcontentType:'json',data:{account:'123',password:'123'},success: function(data){console.log(data);//data为服务器返回的数据},error:function(){}});

下面给出我总结的ajax比较常用的参数:血泪史!debug几年的心得

实用参数 一 描述
async 类型:布尔型
默认值: true。
默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。

【注】:参数async涉及到一个知识点。我们一般是在ajax的success回调函数中拿数据。但是如果我们要是在ajax之外使用数据,那么就会报错。见下图一:

控制台输出结果为:

0
2

【原因】:在一个代码块中(上图的getInfor函数),ajax的success回调函数是最后最后执行的。所以在最下面的console.log(infor)是拿不到data数据的,只能在success回调函数中来使用数据。

那么如何解决这一问题?

这个时候,就需要用到参数async。把async设置为true,改为同步,这样在ajax外也能拿到success回调函数的数据了。

实用参数 二 描述
dataType “xml”: 返回 XML 文档
"html": 返回纯文本 HTML 信息
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
“json”: 返回 JSON 数据 。
“jsonp”: JSONP 格式
"text": 返回纯文本字符串

【注】:dataType也是常用的参数。其中,json、jsonp、xml最为常用,至于如何解析json和xml格式的数据,大家可以翻一下我的博客,里面有。这里也有一个特别重要的点!!

跨域解决方案之一。

有时候,用json格式去请求api,总是报跨域的错,这个时候把json改成jsonp,立马解决。

实用参数三四五 描述
type 类型:String
默认值: “GET”。可选值有:GET、PUT、POST、DALETE
error 类型:Function 失败的回调函数
success 类型:Function 成功的回调函数,用于拿服务器返回的数据。

ajax的ES写法

介绍一下ajax的ES6的写法,用来装13……
给出最常用的写法:

 $.ajax({ url: "http://www.xxx.com/xxx",  //请求的urlcontentType:'json',data:{account:'123',password:'123'},success: (data)=>{console.log(data);//data为服务器返回的数据},error:()=>{}});

【建站系列教程】3.2、ajax使用精讲相关推荐

  1. 【建站系列教程】3、建站基本技术介绍

    [建站系列教程]3.写网页基本技术介绍 摘要 html.css.js jQuery ui框架 bootstrap jQuery-ui vue的ui 后端 采用ajax 或者 php cookie也可以 ...

  2. 【建站系列教程】2.3、分享一些小说的api接口

    [建站系列教程]2.3.分享一些小说的api接口 一.追书神器api 二.资源二api 三.宜搜api 四.结语 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站 ...

  3. 【建站系列教程】7、SEO优化之meta标签【最后一篇】

    [建站系列教程]7.SEO优化之meta标签[进阶] 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站同胞们的教学博客. 喜欢的话点个赞吧~ 评论区欢迎交流讨论~ ...

  4. 【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化

    [建站系列教程]6..htaccess文件的url重写规则-网页伪静态化 如何创建.htaccess文件? .htaccess是什么 htaccess语法教程 写在前面:大家好,我是热爱编程的小泽. ...

  5. 【建站系列教程】5、谈一谈网站的静态化

    [建站系列教程]5.谈一谈网站的静态化[进阶] 动态页面?静态页面?伪静态页面? 三个页面有何优缺点? 为什么要让网页静态化 如何网页伪静态化? 写在前面:大家好,我是热爱编程的小泽. [建站系列教程 ...

  6. 【建站系列教程】4、还不知道SEO你就OUT了

    [建站系列教程]4.还不知道SEO你就OUT了[进阶] SEO的使用背景 SEO到底是什么?SEO会对网站做哪些操作? 对于程序员来说,代码优化方向的SEO能做哪些? 最后,我们才说SEO的原理 写在 ...

  7. 【建站系列教程】3.1、cookie介绍

    [建站系列教程]3.1.cookie介绍 cookie的应用场景 1 小说网站的字体.颜色.背景颜色设置 2 隐藏url里面的参数 cookie的通俗介绍 cookie的基本用法 js版本 jQuer ...

  8. 【建站系列教程】2.2、fiddler手机抓包教程

    [建站系列教程]2.2.fiddler手机抓包教程 (全网最良心.实用教程) fiddler手机抓包原理 步骤摘要 详细步骤 1. 安装fiddler.修改配置 2. 电脑和手机连上同一个wifi 3 ...

  9. 【建站系列教程】2.1、fiddler电脑抓包教程

    [建站系列教程]2.1.fiddler电脑抓包教程 (全网最良心.实用教程) 简介 工作原理 主界面 使用前配置 最常使用功能 1 监控请求 2 模拟请求(重点) 3 Fiddler中保存会话 4 F ...

最新文章

  1. 滴滴自动驾驶,现在是一个怎样的“富二代”创业项目?
  2. CRM WebClient UI里product search上下文节点渲染逻辑
  3. [HNOI2010] 城市建设_动态最小生成树(Dynamic_MST)
  4. Daily Report 2012.10.30 刘宇翔
  5. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_21-CMS前端页面查询开发-Api调用...
  6. 计算机网络性能常见计算公式
  7. rtlinux linux实时补丁,(九)RTLinux补丁以及cyclictest
  8. mermaid 饼图使用指南
  9. 智慧社区的现状分析及发展前景
  10. #define 喵 int_骚男携李佳航做客LOL全球总决赛半决赛官方评论席!决赛包机邀粉丝线下一同观战/应援LPL!舞小喵组女团49万人围观/阿酱猪周年庆...
  11. 基于JAVA计算机在线学习管理系统-计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  12. Spring 系列:Spring AOP 中@Pointcut的用法(多个Pointcut)
  13. HP EVA8400删除VDISK后数据恢复过程分步整理
  14. springboot集成layui框架程序示例
  15. 图片文件转base64和base64转图片文件
  16. PHP常量修饰符是什么,php const常量修饰符使用方法
  17. 微服务之间的服务治理 方案
  18. java set集合元素_Java面试题10(如何取到set集合的第一个元素)
  19. java定时任务TimerTask与scheduleAtFixedRate
  20. wp10手机不能连接微软服务器,微软更新WP10系统 力证他们没有放弃

热门文章

  1. HTML中div标签的一个简单的使用和介绍
  2. tf.stack与tf.unstack
  3. 设置Win可远程访问服务器jupyter notebook
  4. python与mongo_MongoDB与Python的交互
  5. composer更新_深入学习Composer原理(四)
  6. 服务器崩溃日志 | 误删 OpenSSL 的那点事
  7. 聊一聊 Python 安装中的 --enable-shared
  8. karyoploteR: 基因组数据可视化 R 包
  9. 在线作图|差异柱状图(组内)
  10. 工作后,拉开你和同龄人差距的,不是出身,不是努力,而是……