ajax之深入解析(2)

  我们前面实现了用原生的JavaScript代码实现ajax的异步数据传输。接下来,我们再使用一个流行的js框架jQuery来实现ajax。

  通过 jQuery AJAX 方法,我们能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON,同时,我们能够把这些外部数据直接载入网页里的被选元素中。在使用jQuery时,我们需要在网页中引入jQuery的脚本文件。jQuery有两个显著特点,即隐式迭代和链式编程,jQuery可以用$符号表示,出现jQuery的地方可以使用$符号代替。

  下面的表格列出了所有的 jQuery AJAX 方法:

方法描述
$.ajax()执行异步 AJAX 请求
$.ajaxPrefilter()在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项
$.ajaxSetup()为将来的 AJAX 请求设置默认值
$.ajaxTransport()创建处理 Ajax 数据实际传送的对象
$.get()使用 AJAX 的 HTTP GET 请求从服务器加载数据
$.getJSON()使用 HTTP GET 请求从服务器加载 JSON 编码的数据
$.getScript()使用 AJAX 的 HTTP GET 请求从服务器加载并执行 JavaScript
$.param()创建数组或对象的序列化表示形式(可用于 AJAX 请求的 URL 查询字符串)
$.post()使用 AJAX 的 HTTP POST 请求从服务器加载数据
ajaxComplete()规定 AJAX 请求完成时运行的函数
ajaxError()规定 AJAX 请求失败时运行的函数
ajaxSend()规定 AJAX 请求发送之前运行的函数
ajaxStart()规定第一个 AJAX 请求开始时运行的函数
ajaxStop()规定所有的 AJAX 请求完成时运行的函数
ajaxSuccess()规定 AJAX 请求成功完成时运行的函数
load()从服务器加载数据,并把返回的数据放置到指定的元素中
serialize()编码表单元素集为字符串以便提交
serializeArray()编码表单元素集为 names 和 values 的数组

  我们选择上述列表中的若干方法予以介绍。

  jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <script src="js/jquery-1.11.1.js"></script>
 7 </head>
 8 <script>
 9     $(document).ready(function(){
10         $("button").click(function(){
11             $("#content").load("resource/book.xml");
12         })
13     })
14 </script>
15 <body>
16 <div id="content"><h3>演示ajx</h3></div>
17 <button>点击</button>
18 </body>
19 </html>

  可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

  • responseTxt - 包含调用成功时的结果内容
  • statusTXT - 包含调用的状态
  • xhr - 包含 XMLHttpRequest 对象  
1 $("button").click(function(){
2   $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
3     if(statusTxt=="success")
4       alert("外部内容加载成功!");
5     if(statusTxt=="error")
6       alert("Error: "+xhr.status+": "+xhr.statusText);
7   });
8 });

  jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。  

  两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

  • GET - 从指定的资源请求数据
  • POST - 向指定的资源提交要处理的数据

  GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

  POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

  $.get() 方法通过 HTTP GET 请求从服务器上请求数据。

$.get(URL,callback);

  必需的 URL 参数规定您希望请求的 URL。

  可选的 callback 参数是请求成功后所执行的函数名。  

$("button").click(function(){$.get("demo_test.jsp",function(data,status){alert("数据: " + data + "\n状态: " + status);});
});

  $.post() 方法通过 HTTP POST 请求从服务器上请求数据。

$("button").click(function(){$.post("/try/ajax/demo_test_post.jsp",{name:"lzy",pwd:"haha"},function(data,status){alert("数据: \n" + data + "\n状态: " + status);});
});

  ajax() 方法用于执行 AJAX(异步 HTTP)请求。所有的 jQuery AJAX 方法都使用 ajax() 方法。该方法通常用于其他方法不能完成的请求。  

$.ajax({name:value, name:value, ... })

  该参数规定 AJAX 请求的一个或多个名称/值对。下面的表格中列出了可能的名称/值:

名称值/描述
async布尔值,表示请求是否异步处理。默认是 true。
beforeSend(xhr)发送请求前运行的函数。
cache布尔值,表示浏览器是否缓存被请求页面。默认是 true。
complete(xhr,status)请求完成时运行的函数(在请求成功或失败之后均调用,即在 success 和 error 函数之后)。
contentType发送数据到服务器时所使用的内容类型。默认是:"application/x-www-form-urlencoded"。
context为所有 AJAX 相关的回调函数规定 "this" 值。
data规定要发送到服务器的数据。
dataFilter(data,type)用于处理 XMLHttpRequest 原始响应数据的函数。
dataType预期的服务器响应的数据类型。
error(xhr,status,error)如果请求失败要运行的函数。
global布尔值,规定是否为请求触发全局 AJAX 事件处理程序。默认是 true。
ifModified布尔值,规定是否仅在最后一次请求以来响应发生改变时才请求成功。默认是 false。
jsonp在一个 jsonp 中重写回调函数的字符串。
jsonpCallback在一个 jsonp 中规定回调函数的名称。
password规定在 HTTP 访问认证请求中使用的密码。
processData布尔值,规定通过请求发送的数据是否转换为查询字符串。默认是 true。
scriptCharset规定请求的字符集。
success(result,status,xhr)当请求成功时运行的函数。
timeout设置本地的请求超时时间(以毫秒计)。
traditional布尔值,规定是否使用参数序列化的传统样式。
type规定请求的类型(GET 或 POST)。
url规定发送请求的 URL。默认是当前页面。
username规定在 HTTP 访问认证请求中使用的用户名。
xhr用于创建 XMLHttpRequest 对象的函数。

转载于:https://www.cnblogs.com/lizhangyong/p/8385426.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java远程下载文件_java下载远程文件到本地

/*** 下载远程文件并保存到本地* param remoteFilePath 远程文件路径* param localFilePath 本地文件路径(带文件名)*/public void downloadFile(String remoteFilePath, String localFilePath){URL urlfile null;HttpURLConnection httpUrl null;BufferedInputStream bis n…

周鸿祎:过去只能在虚拟世界里发起的网络攻击,现在都可以通过物联网直达生产一线...

来源&#xff1a;亚布力中国企业家论坛责编&#xff1a;严莉2020年9月20日&#xff0c;2020世界工业互联网产业大会在青岛开幕。360集团董事长兼CEO周鸿祎在会上发表题为“安全是工业互联网发展的先决条件”主题演讲。他表示&#xff0c;工业数字化会带来一个很大的安全问题——…

SSL-ZYC 溜冰

题目大意&#xff1a; 一个国际溜冰比赛的赛道长L米。在起点选手的速度是1米/秒&#xff0c;但速度是可以改变的&#xff0c;在每一米的速度可以是前一米的速度加1、减1&#xff0c;或者等于前一米的速度。在滑行的过程中&#xff0c;选手会遇到N个转弯处&#xff0c;第i个转弯…

java 百度地图地址解析_百度地图Java地址解析和经纬度解析

import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import com.alibaba.fastjson.JSONObject;public class BaiduMapUtils {public static String MAP_AK "秘钥AK";public static String MAP_URL…

使用Spring-hadoop小结

SpringHadoop是通过Spring框架来调用hdfs,跟直接调用hdfs的最大的不同区别是Spring通过依赖注入的方式生成操作hdfs所需要的configuration和filesystem对象,其他所有调用hdfs的api不变 1.在项目的main目录下创建resources文件夹,并将其添加到项目的资源文件中,如图 &#xfffc…

火热物联网下,中国传感器的冷思考

文章来源于传感器专家网&#xff0c;转载自物联传媒&#xff0c;图片来源于网络近20年&#xff0c;移动互联网的发展催生物联网产业的发展。如今智能硬件层出不穷&#xff0c;从智能手环到智能手表&#xff0c;从智能盒子到智能家居&#xff0c;无不是在强化硬件的远程操控力。…

java c 基本类型_java 基本数据类型

java的8种基本数据类型&#xff1a;类型&#xff1a;bye short int long float double char boolean字节数&#xff1a;1 2 4 8 4 8 1 ???????对应的封装类是&#xff1a;Byte、Short、Integer、Long、Float、Double、Character、Boolean除…

因果推断的起源

转自&#xff1a;通识联播如涉版权请加编辑微信联系因果推断的起源朱迪亚珀尔但它&#xff08;地球&#xff09;仍在动。——出自伽利略&#xff08;1564—1642&#xff09;弗朗西斯高尔顿爵士在皇家学院展示他的“高尔顿板”&#xff08;Galton board&#xff09;或称“梅花机…

docker compose java_Docker-compose部署java项目

Docker-compose部署java项目前置条件&#xff1a;安装docker安装docker-compose防火墙啥的都设置好dockerfile-demoFROM java:8VOLUME /tmpWORKDIR /ADD ./project-demo-1.0.0.jar project-demo.jarRUN bash -c touch /project-demo.jarEXPOSE 8080ENTRYPOINT ["java"…

​台媒:台积电2nm制程获重大突破

来源&#xff1a;本文来自「经济日报」&#xff0c;谢谢。据台媒经济日报透露&#xff0c;台积电2纳米制程研发获重大突破。供应链透露&#xff0c;有别于3纳米与5纳米采用鳍式场效电晶体&#xff08;FinFET&#xff09;架构&#xff0c;台积电2纳米改采全新的多桥通道场效电晶…

java正则匹配非html字符串_java正则表达式去除html中所有的标签和特殊HTML字符(以开头的)...

packagecom.comcons.utils;importjava.io.BufferedReader;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.util.regex.Pattern;public classReduceHtml2Text {/*** 删除Html标签*paraminputString*return*/public static…

院士论坛 | 郭毅可院士:人工智能的热望与冷思考

本文转载自微信公众号&#xff1a;慧天地&#xff0c;来源&#xff1a;上海人工智能学会。版权归原作者及刊载媒体所有&#xff0c;所刊载内容仅供交流参考使用&#xff0c;不代表本刊立场。郭毅可 欧洲科学院院士、英国皇家工程院院士、香港浸会大学副校长。1985年本科毕业于清…

sae 微信 java web_[1] 微信公众号与sae的web应用之间的配置

第一步&#xff1a;申请sae账号&#xff0c;并新建web应用。第三步&#xff1a;配置微信公众号接口&#xff1a;输入接口配置信息&#xff0c;填写URL和Token。点击提交按钮。※ 此时会发现配置不成功&#xff01;需要在代码中添加&#xff1a;header(content-type:text);全部代…

protocol buffer相关

protocol buffer简介 protocol buffer全称Google Protocol Buffers&#xff0c;是google开发的一套用于数据存储&#xff0c;网络通信的协议编解码的工具库&#xff0c;与XML或者JSON相差不多&#xff0c;即把某种数据结构的信息&#xff0c;以某种格式&#xff08;XML&#xf…

用肖像画追踪历史上的信任度变化 |《自然-通讯》论文

来源&#xff1a;Nature自然科研《自然-通讯》发表的一项研究Tracking historical changes in trustworthiness using machine learning analyses of facial cues in paintings指出&#xff0c;从1500年到2000年&#xff0c;欧洲肖像画中传递信任度的面部表达有所增加&#xff…

python url中传递中文_Python编程:URL网址链接中的中文编码与解码

网址链接中的中文编码中文的gbk(GB2312)编码&#xff1a; 一个汉字对应两组%xx&#xff0c;即%xx%xx中文的UTF-8编码&#xff1a; 一个汉字对应三组%xx&#xff0c;即%xx%xx%xx可以利用百度进行URL编码解码 默认gbkhttps://www.baidu.com/s?wd%E4%B8%AD%E5%9B%BDpython3编码解…

华为:求生存是当前主线 下阶段重点 to B数字化

作者 | 王刚出品 | 雷锋网产业组华为全联接&#xff08;HUAWEI CONNECT &#xff09;是华为自办、规模最大的面向ICT行业的全球生态大会&#xff0c;今年是第五载。 这里一直是华为公司发布重大战略的平台。 过去在这个舞台上&#xff0c;华为呼吁过全球伙伴共建哥斯达黎加式生…

maven java管理_java – 依赖管理与maven

我最近成了Maven的大粉丝,用于控制我的应用程序的构建周期.然而,我遇到了一些粗暴的边缘与Maven的依赖管理.我想知道这些是否是工具和范例的限制,依赖管理的必要的邪恶,或者我是否使用错误的工具.>首先是传递依赖关系的问题.据了解,如果您提供依赖关系,Maven将依次找到依赖关…

发新款电池!成本降低14%,特斯拉会继续降价吗?

来源&#xff1a;网易智能在美国当地时间周二举行的“电池日”活动上&#xff0c;电动汽车制造商特斯拉公布了其“无极耳电极”电池计划(极耳是电池正极突出的那一小块)&#xff0c;可以提高电动汽车的续航里程和功率。特斯拉将在内部生产新电池&#xff0c;其首席执行官埃隆马…

[并查集][排序][dfs][启发式合并] JZOJ P3635 Peaks

Description 有一个居住在多山岛屿的登山家&#xff0c;已经攀上了一座山峰&#xff0c;并且要攀爬另外一座更高的山峰。 更精确地说&#xff0c;岛上的每一点都有一个大于零的海拔&#xff08;海面的海拔为零&#xff09;&#xff0c;并且如果登山家位于海拔Ei的山峰上&#x…