jQuery对Ajax的封装应用(三)

文章目录

    • 一、Ajax
    • 二、load
    • 三、ajax(参数),get,set
        • $.ajax
        • $.ajax的get、post简写形式
    • 四、ajax全部方法参考 ☆

一、Ajax

  • AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。
  • AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)
  • 如果没有 jQuery,AJAX 编程还是有些难度的。编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着你必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能
  • 仅介绍常用Ajax方法:load、ajax、get、post
    更多请参考:菜鸟教程 - 总有你想要的

二、load

从服务器加载数据,并把返回的数据放入被选元素中。

$(selector).load(URL,data,callback);
URL:必须,规定希望加载的 URL
data:可选,规定与请求一同发送的查询字符串键/值对集合
callback:可选,回调函数。
callback的可选参数:

  • responseTxt - 包含调用成功时的结果内容
  • statusTXT - 包含调用的状态
  • xhr - 包含 XMLHttpRequest 对象
$("#div1").load("demo_test.txt");
// 把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的 <div> 元素中
$("#div1").load("demo_test.txt #p1");
// 在 load() 方法完成后显示一个提示框。如果 load() 方法已成功,则显示"外部内容加载成功!",而如果失败,则显示错误消息
$("button").click(function(){$("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){if(statusTxt=="success")alert("外部内容加载成功!");if(statusTxt=="error")alert("Error: "+xhr.status+": "+xhr.statusText);});
});

tips:为了避免多页面情形下的代码重复,可以利用 load() 方法,将重复的部分(例如导航栏)放入单独的文件

三、ajax(参数),get,set

$.ajax

所有的 jQuery AJAX 方法都使用 ajax() 方法。该方法通常用于其他方法不能完成的请求。即其他衍生出的get,post,load,getJSON等等均可以由ajax()方法通过参数实现。

ajax()常用参数(框架):

$.ajax(type:"POST",	// GET,POSTurl:"/index.html",	// 路由async:true,		// 异步吗?默认是true,尽量少用同步data:{			// 规定要发送到服务器的数据id:"1",name:"Jack,Rose",kinds:"Lover"},// 成功回调函数success:function(data,status){Console.log("请求成功!");	// 控制台输出Console.log("data:");Console.log(data);Console.log("status:");Console.log(status);}
);

ajax方法的所有参数:

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 对象的函数。

$.ajax的get、post简写形式

  • $.get —— 从指定的资源请求数据
    $.get(URL,callback);
    URL:必选,访问的地址
    callback:可选
    回调参数:
    • data —— 可选,被请求页面的内容
    • status —— 可选,请求的状态

  • $.post —— 通过 HTTP POST 请求向服务器提交数据
    $.post(URL,data,callback);
    URL:必选,访问的地址
    data:可选,规定连同请求发送的数据
    callback:可选
    回调参数:
    • data —— 可选,被请求页面的内容
    • status —— 可选,请求的状态
$("button").click(function(){$.post("www.baidu.com",{name:"post请求",time:"2019/12/20"},// post请求成功后调用此函数function(data,status){alert("数据: \n" + data + "\n状态: " + status);});
});

tips:
GET 和 POST 方法的区别:
1、发送的数据数量
在 GET 中,只能发送有限数量的数据,因为数据是在 URL 中发送的。
在 POST 中,可以发送大量的数据,因为数据是在正文主体中发送的。

2、安全性
GET 方法发送的数据不受保护,因为数据在 URL 栏中公开,这增加了漏洞和黑客攻击的风险。
POST 方法发送的数据是安全的,因为数据未在 URL 栏中公开,还可以在其中使用多种编码技术,这使其具有弹性。

3、加入书签中
GET 查询的结果可以加入书签中,因为它以 URL 的形式存在;而 POST 查询的结果无法加入书签中。

4、编码
在表单中使用 GET 方法时,数据类型中只接受 ASCII 字符。
在表单提交时,POST 方法不绑定表单数据类型,并允许二进制和 ASCII 字符。

5、可变大小
GET 方法中的可变大小约为 2000 个字符。
POST 方法最多允许 8 Mb 的可变大小。

6、缓存
GET 方法的数据是可缓存的,而 POST 方法的数据是无法缓存的。

7、主要作用
GET 方法主要用于获取信息。而 POST 方法主要用于更新数据。

四、ajax全部方法参考 ☆

菜鸟教程 - AJAX方法

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

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

相关文章

如何使用卡巴斯基急救盘清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 当您要处理一台完全…

2018.12.08 codeforces 946D. Timetable(背包)

传送门 题意简述&#xff1a;有一个人上n天课&#xff0c;每天有m个小时的时间安排表&#xff08;一个01串&#xff09;&#xff0c;为1表示要上课&#xff0c;否则不上课&#xff0c;求出如果可以最多翘kkk节课这nnn天在校待的总时间的最小值&#xff08;一天必须在所有课上完…

jQuery杂项进阶(四)

文章目录一、$ 的替换二、使用JSONP实现跨域三、jQuery 杂项方法、实用工具、回调对象、延迟对象参考 ☆四、jQuery 自身属性参考 ☆五、jQuery 插件介绍和参考 ☆jQuery 树型菜单插件(Treeview)jQuery Validate表单验证&#xff0c;jQuery Password Validation&#xff08;密码…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它们为什么运行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫无疑问&#xff0c;您阅读本文是因为您想知道…

[USACO10DEC] Treasure Chest

题目链接 90 Points&#xff1a;智障的区间 DP……设 dp[i][j] 表示区间 [i, j] 能取的最大价值&#xff0c;但我还是 sd 地开了第三维表示先取还是后取的价值。 交上去以为能 A&#xff0c;结果 #2 开心地 MLE……一看内存&#xff0c;64MB&#xff08;把评测机吊起来打一顿&a…

工程化,模块化,组件化,规范化

前端讲究 工程化&#xff0c;模块化&#xff0c;组件化&#xff0c;层层递进。 一、工程化 工程化是整个工程的结构、样式和动作分离&#xff0c;工程化是一种思想而不是某种技术&#xff08;当然为了实现工程化我们会用一些技术&#xff09;。各种规范、技术选型、项目构建优…

linux压缩和解压缩_Linux QuickTip:一步下载和解压缩

linux压缩和解压缩Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架构与作业执行流程简介

2019独角兽企业重金招聘Python工程师标准>>> Spark架构与作业执行流程简介 博客分类&#xff1a; spark Local模式 运行Spark最简单的方法是通过Local模式&#xff08;即伪分布式模式&#xff09;。 运行命令为&#xff1a;./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的项目用了Mongodb&#xff0c;网上的用法大多都是七零八落的没有一个统一性&#xff0c;自己大概整理了下&#xff0c;项目中的相关配置就不叙述了&#xff0c;由于spring boot的快捷开发方式&#xff0c;所以spring boot项目中要使用Mongodb&#xff0c;只需要添加依赖和…

nodejs和Vue和Idea

文章目录Vue环境搭建Idea安装Idea中配置Vue环境Node.js介绍npm介绍Vue.js介绍[^3]Idea介绍Vue环境搭建 概述&#xff1a;vue环境搭建&#xff1a;需要npm&#xff08;cnpm&#xff09;&#xff0c;而npm内嵌于Node.js&#xff0c;所以需要下载Node.js。 下载Node.js&#xff1…

Spring MVC上下文父子容器

2019独角兽企业重金招聘Python工程师标准>>> Spring MVC上下文父子容器 博客分类&#xff1a; java spring 在Spring MVC的启动依赖Spring框架&#xff0c;有时候我们在启动Spring MVC环境的时候&#xff0c;如果配置不当的话会造成一些不可预知的结果。下面主要介绍…

12.7 Test

目录 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轰炸bomb(Tarjan DP)C 字符串string(AC自动机 状压DP)考试代码AC2018.12.7 Test题目为2018.1.4雅礼集训。 时间&#xff1a;4.5h期望得分&#xff1a;010010实际得分&#xff1a;010010 A 序列sequence(迭代加深搜索) 显然可…

word文档中统计总页数_如何在Google文档中查找页数和字数统计

word文档中统计总页数Whether you’ve been given an assignment with a strict limit or you just like knowing how many words you’ve written, Google Docs has your back. Here’s how to see exactly how many words or pages you’ve typed in your document. 无论您是…

vue 入门notes

文章目录vue一、js基础二、封装缓存三、组件1、组件创建、引入、挂载、使用2、组件间的传值- 父组件主动获取子组件的数据和方法&#xff08;子组件给父组件传值&#xff09;&#xff1a;- 子组件主动获取父组件的数据和方法&#xff08;父组件给子组件传值&#xff09;&#x…

spring集成 JedisCluster 连接 redis3.0 集群

2019独角兽企业重金招聘Python工程师标准>>> spring集成 JedisCluster 连接 redis3.0 集群 博客分类&#xff1a; 缓存 spring 客户端采用最新的jedis 2.7 1. maven依赖&#xff1a; <dependency> <groupId>redis.clients</groupId> <artifact…

html-盒子模型及pading和margin相关

margin: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;}/*margin 外边距 元素与其他元素的距离&#xff08;边框以外的距离&#xff09;一…

火狐浏览器复制网页文字_从Firefox中的网页链接的多种“复制”格式中选择

火狐浏览器复制网页文字Tired of having to copy, paste, and then format links for use in your blogs, e-mails, or documents? Then see how easy it is to choose a click-and-go format that will save you a lot of time and effort with the CoLT extension for Firef…

vscode配置、使用git

文章目录一、下载、配置git二、vscode配置并使用git三、记住密码一、下载、配置git 1、git-win-x64点击下载后安装直接安装&#xff08;建议复制链接用迅雷等下载器下载&#xff0c;浏览器太慢&#xff0c;记住安装位置&#xff09;。 2、配置git环境变量&#xff1a; 右键 此…

BTrace功能

2019独角兽企业重金招聘Python工程师标准>>> BTrace功能 一、背景 在生产环境中可能经常遇到各种问题&#xff0c;定位问题需要获取程序运行时的数据信息&#xff0c;如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息&#xff0c;我们可以…

.NET(c#) 移动APP开发平台 - Smobiler(1)

原文&#xff1a;https://www.cnblogs.com/oudi/p/8288617.html 如果说基于.net的移动开发平台&#xff0c;目前比较流行的可能是xamarin了&#xff0c;不过除了这个&#xff0c;还有一个比xamarin更好用的国内的.net移动开发平台&#xff0c;smobiler&#xff0c;不用学习另外…