Ajax技术

Ajax是一种技术组合,利用Ajax可以快速实现客户端与服务端的通信,而无需了解通信的底层技术,如XMLHttpReques,XML等技术,Ajax对这些技术进行了封装。

jQuery提供了对Ajax技术很好的支持,使用者无须关心Ajax 的核心对象或实现机制,只需要使用ajax()、get()或post()方法,就能很方便地完成客户端与服务端的交互。

ajax函数

jQuery提供的ajax()函数可以完成客户端与服务端异步通讯的所有功能,该函数提供Ajax详细的配置入口,可以对Ajax 进行更为深入的控制。

ajax()函数有两种使用方法:

用法1:

jQuery.ajax(ConfigObject)

参数ConfigObject是JS对象,该对象的属性为Ajax的配置项。

用法2:

jQuery.ajax(url,ConfigObject)

用法2是用法1的变体,它只是将ConfigObject对象的url属性提取出来作为一个独立的参数,该参数为发送请求的url。

常用的ConfigObject对象属性如下表所示:

注释(1)

async用于配置请求是同步还是异步。同步请求是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码。异步请求是当前发出请求后,浏览器可以继续做任何事,该请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。

async默认设置为true,是异步请求。若需要发送同步请求,需要将async设置为false。

注释(2)

data为客户端发送到服务端的数据,类型为JS对象或字符串。若请求类型是GET,data会自动添加到url之后,作为url的参数。data一般为JS对象,例如:

{foo1:"bar1",foo2:"bar2"}

注释(3)

dataType用于配置服务端返回的数据类型,可用的类型如下:

xml:返回XML数据。html:返回HTML数据。script:返回JavaScript代码。json:返回JSON数据。text:返回纯文本内容。

若dataType没有设置,默认返回数据类型是text。

注释(4)

success是回调函数,该函数有两个参数:一个参数是服务端返回的数据,数据类型由dataType指定;一个参数是描述状态的字符串。

例如下面的函数可以作为success回调函数:

function(data, status){//data可能是xmlDoc、jsonObj、html、text等等JS语句}

案例:获取天气预报

案例使用天气预报接口查询当日某城市天气,使用API前您需先申请Key,若无API账号需要先申请账号.extension代表气象类型,若extension=base:返回实况天气,extension=all:返回预报天气。

接口调用描述如下:接口地址:url参数:key,账号参数:city,城市名称,如北京参数:extensions,气象类型,若值为extension,返回city指定城市的实况天气,若值为all,返回指定城市的预报天气。接口返回数据为JSON数据:{"status": "1","count": "1","info": "OK","infocode": "10000","lives": [{"province": "北京","city": "北京市","adcode": "110000","weather": "晴","temperature": "0","winddirection": "西南","windpower": "4","humidity": "19","reporttime": "2020-12-15 15:30:42"}]}

案例代码:

JavaScript开发案例

北京市天气预报

get函数以GET方式向服务端发送ajax请求,get函数使用方法如下:

$.get(url, [data], [callback], [dataType])

参数说明如下表所示:

案例:使用get函数获取天气预报

JavaScript开发案例

北京市天气预报

getJSON函数

若确定服务端返回JSON数据,可以使用getJSON函数,使用该函数时,不必再传入dataType参数。getJSON函数使用方法如下:

$.getJSON (url, [data], [callback])

getJSON函数的定义和get、post函数相同,在已经确定服务器返回JSON数据的情况下,不必再传入dataType参数。案例代码参见get函数。

举报/反馈

ajax技术运用案例,第12篇:Ajax技术与项目案例相关推荐

  1. .net ajax 怎么写,.NET学习篇--Ajax中Url的写法

    .NET学习篇--Ajax中Url的写法 什么是Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的 ...

  2. 中民协元宇宙工委在全国范围内征集元宇宙技术应用项目案例的公告

    为了深入贯彻落实国家重大方针政策,系统谋划.统筹推进数字经济强国建设发展.加快推进"十四五"数字经济发展,进一步提升我国经济发展活力.增强社会前进动力,推动我国经济转型升级和高质量 ...

  3. 数据可视化-echarts入门、常见图表案例、超详细配置解析及项目案例

    文章目录 数据可视化-echarts入门.常见图表案例及项目案例 一.简介 一.数据可视化简介 二.echarts简介 三.echarts特点 四.ZRender介绍 二.Echarts的基本使用 一 ...

  4. 案例分析:大数据平台技术方案及案例(ppt)

    大数据平台是为了计算,现今社会所产生的越来越大的数据量,以存储.运算.展现作为目的的平台.大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP ...

  5. springcloud篇】九. springcloud项目 三 首页,我的信息,添加好友及好友信息处理

    首页,我的信息,添加好友及好友信息处理 篇幅较长,请配合目录观看 项目准备 1. 图片上传服务器-后端 1.1 导包 1.2 编写yml 1.3 修改weixin-config-server/conf ...

  6. linux中自动化日志分析,Shell项目案例7-应用日志分析

    2019年录制SHell新课地址 贴切企业脚本编写思路讲解,带你玩Shell脚本编程实战. 本套课程从实际项目案例出发,近100个Shell实例讲解,由浅入深,循序渐进,带你玩转Shell编程的方方面 ...

  7. Vuejs模拟Ajax请求接口(天气预报API)跨域问题 - 案例篇

    vuejs的Ajax跨域请求问题一直都是前端人员开发vue项目进程中经常遇到的不得不解决的热门问题,也是个心病. 首先看一下,页面 报错内容提示: Access to XMLHttpRequest a ...

  8. AJAX(看这一篇就够了,详细)

    看这一篇就够了!-Ajax概念详解 AJAX简介: AJAX即Asynchronous JavaScript and XML(异步JavaScript和XML技术),是一种在无须重新加载整个网页的情况 ...

  9. JSON进阶第二篇 AJAX方式传递JSON数据

    上一篇<JSON进阶第一篇 在PHP与javascript 中使用JSON>示范了在PHP和javascript中如何使用JSON类型的数据,本篇将介绍用AJAX方式得到JSON数据从而动 ...

最新文章

  1. pyhon字典后跟中括号
  2. 【数理逻辑】谓词逻辑 ( 谓词逻辑基本等值式 | 消除量词等值式 | 量词否定等值式 | 量词辖域收缩扩张等值式 | 量词分配等值式 )
  3. 小派(PiMax)vr Artisan固件升级失败,没反应了
  4. 一步带你了解java程序逻辑控制
  5. MPMovieplayercontroller
  6. 对二分法思想的体会 及 结队编程情况汇报
  7. PWA(Progressive Web App)入门系列:(三)PWA关键技术Manifest
  8. java模拟浏览器htmlunit,Java版本的浏览器HtmlUnit入门示例
  9. 仰空以忧繁星,我将君心聆听,我听君心似水清,清冷好似寒冰
  10. 【VS开发】ConvertBSTRToString(filename) 不能将string转换为BSTR
  11. MySQL数据库张素青答案_MySQL数据库技术与应用
  12. 微服务不是架构演变的终点!
  13. Mac 屏幕色温一直变化
  14. python利用danmu实时获取斗鱼等直播网站字幕
  15. lol大区服务器维护,LOL官宣“扩容升级”服务器,排队时间将大大减少,电一玩家喜大普奔!...
  16. VR 中的常用指令设置及介绍
  17. 基于Matlalb使用惯性传感器融合和MPU9250估计方向(附源码)
  18. 【Windows C++】调用powershell上传指定目录下所有文件
  19. 出现ERROR The server quit without updating PID file
  20. 详解Redis和Memcached

热门文章

  1. 华为鸿蒙10月17日,华为宣布10月17日重磅新机:鸿蒙系统+全球首发屏下摄像头...
  2. java大量的print影响性能吗_printStackTrace()造成的性能瓶颈
  3. mega_[MEGA DEAL] 2018 Essential JavaScript编码捆绑包(96%折扣)
  4. c语言r5够用吗,泡菜说丨普通人有必要买R5吗?
  5. python让用户输入一个列表_Python:如何将用户输入添加到列表中?
  6. 微信notify mysql_微信支付的notify.php中如何获取订单号(php版)
  7. 盘点2020中国IT上市企业100强,贵司上榜了吗?
  8. Redis在Linux系统的配置优化
  9. Mybaitis 缓存的优化
  10. Spring Cloud Alibaba基础教程:Nacos的数据持久化