深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法

当我们用javascript写ajax程序写得很“开心”的时候,突然有人告诉你有一种东西叫jquery,它会告诉你不直接和HttpRequest是多么的快乐,同时你再也不需要再烦恼纠结的ajax乱码问题,更幸福的是你的js代码将大大地简化,看完本文,你会发现,ajax,简单的来讲就是一句话的事情。

本文重点是来讲讲jQuery中调用ajax的4种方法:$.get、$.post、$getJSON、$ajax。如果读者没有javascript和jquery的知识,或者没有ajax的概念,那么请先去问问google老大,再来读本文。

 

1、$.get

$.get()方法使用GET方式来进行异步请求,它的语法结构为:

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

解释一下这个函数的各个参数:

url:string类型,ajax请求的地址。

data:可选参数,object类型,发送至服务器的key/value数据会作为QueryString附加到请求URL中。

callback:可选参数,function类型,当ajax返回成功时自动调用该函数。

最后写一个$.get()的实例供大家参考:

 

1
2
3
4
5
6
7
8
9
10
11
$.get(
    "submit.aspx",{
        id:     '123',
        name:   '青藤园',
    },function(data,state){
        //这里显示从服务器返回的数据
        alert(data);
        //这里显示返回的状态
        alert(state);
    }
)

2、$.post()

 

$.post()方法使用POST方式来进行异步请求,它的语法结构为:

$.post(url,[data],[callback],[type])

这个方法和$.get()用法差不多,唯独多了一个type参数,那么这里就只介绍type参数吧,其他的参考上面$.get()的。

type:type为请求的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就和$.get()返回的格式一样,都是字符串的。

最后写一个$.post()的实例供大家参考:

 

1
2
3
4
5
6
7
8
9
10
11
12
$.post(
    "submit.aspx",{
        id:     '123',
        name:   '青藤园',
    },function(data,state){
        //这里显示从服务器返回的数据
        alert(data);
        //这里显示返回的状态
        alert(state);
    },
    "json"
)

3、$.getJSON()

 

$.getJSON()是专门为ajax获取json数据而设置的,并且支持跨域调用,其语法的格式为:

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

url:string类型, 发送请求地址  data :可选参数, 待发送 Key/value 参数 ,同get,post类型的data callback :可选参数,载入成功时回调函数,同get,post类型的callback

JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送“裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成"myurl?callback=X"这种格式,让程序执行回调函数X。

4、$.ajax()

$.ajax()是jquery中通用的一个ajax封装,其语法的格式为:

$.ajax(options)

其中options是一个object类型,它指明了本次ajax调用的具体参数,这里我把最常用的几个参数附上

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
        url: 'submit.aspx',
        datatype: "json",
        type: 'post',
        success: function (e) {   //成功后回调
            alert(e);
        },
        error: function(e){    //失败后回调
            alert(e);
        },
        beforeSend: function(){  /发送请求前调用,可以放一些"正在加载"之类额话
            alert("正在加载");
        }
})

好了,以上就是jquery实现ajax调用的几种方法,希望对大家有所帮助。

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

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

相关文章

轻松实现突破网管限制(SoftEther实际应用)

因为公司限制办公室里的机器上网,只能使用一台内网的HTTP代理服务器浏览网站,而且还只能浏览端口为80的网站,想在天空软件站下个软件还只能通过四川的一个服务器下载。实在很郁闷。找了几天的代理工具。先后用过了“通通通”和“SocksOnline”…

看完这些,孩子的学习效率提高10倍

全世界只有3.14 % 的人关注了青少年数学之旅在工作之余,我们大量的碎片时间被手机占据。无意识的刷手机打发无聊,不如有趣又高品质的积累。我们特意精选了在不同领域的几个高品质公众号代表,希望让你在快乐打发闲暇时光的同时,也能…

中国唯一一位女性 Apache Member 潘娟:我们还是要走出自己与众不同的 My Way

The Apache Way 是一种参照,但我们还是要走出自己的与众不同的 My Way。———潘娟ApacheCon 是 Apache 软件基金会(ASF)的官方全球系列大会。作为久负盛名的开源盛宴,ApacheCon 在开源界备受关注,也是开源运动早期的知…

SVN的安装笔记和要注意的问题

SVN的安装笔记和要注意的问题 之前装的SVN 1.3.2,按网上说的教程,一配置就可以用了,但这次换了1.4.2的最新版本,只是设置了server.conf和passwd后,依然在导入项目时,说验证错误,搞来搞去还是有问题,最后发现一定要在auth这个文件设置好权限才行.简单的安装过程:1 下载好,比如在…

python seaborn 热图_python – 在seaborn中结合两张热图

在图中并排显示两个seaborn热图的一种可能方式是将它们绘制成单独的子图.可以将子图之间的空间设置为非常小(wspace 0.01),并将相应的颜色条和标记标记定位在该间隙之外.import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport seaborn as snsdf pd.Da…

Impala入门笔记

From:http://tech.uc.cn/?p817 问题背景: 初步了解Impala的应用重点测试Impala的查询速度是否真的如传说中的比Hive快3~30倍写作目的: 了解Impala的安装过程初步了解Impala的使用比较Impala与Hive的性能测试适合阅读对象: 想了解Impala安装的…

关于使用 jquery Validate 使用出现的问题

今天写一个表单提交程序,发现jquery的Validate这个官方插件很好用,决定使用。下载之后运行它的Demo没有问题。但是在项目中使用时却出现错误,提示正则表达式错误,查看了一下源程序,发现在检测URL那个方法的代码里有一段…

python中test_在python中生成py.test测试

先问一下,然后一个解释,如果你有兴趣.在py.test的上下文中,如何从一小组测试函数模板生成大量测试函数?就像是:models [model1,model2,model3]data_sets [data1,data2,data3]def generate_test_learn_parameter_function(model,data):def this_test(mo…

ASP.NET Core 中做集成测试的三种方案

学习进步老张的哲学不定期更新的日常在平时的开发中,我们很少会关注到测试的问题,更别说集成测试了,除非是公司有硬性要求或者是自己的开源项目中,为了整体架构的完整性,需要用测试来做辅助点缀,而更多的也…

爱泼斯坦事件发酵,MIT师生发起抗议逼迫校长Rafael Reif辞职

全世界只有3.14 %的人关注了青少年数学之旅爱泼斯坦自杀引发的美国学术界地震持续发酵,其中涉及最深的无疑是MIT。继MIT媒体实验室主任Joi Ito和计算机科学家Richard Stallman先后迫于压力辞职后,现任MIT校长Rafael Reif正面临越来越大的辞职压力。现年6…

小诗

我是天空中的片云,你是彩云中的红霞, 芸芸中相遇,不经然相识, 霞是美丽的,风中带着你的气息, 让我常常大口吸进生活活力,想着,伴着,缠着。一起漂浮在美丽天宇内&#xff…

Oracle索引扫描四大类的分析

学习Oracle时,你可能会遇到Oracle索引扫描问题,这里将介绍Oracle索引扫描问题的解决方法,在这里拿出来和大家分享一下。根据索引的类型与where限制条件的不同,有4种类型的Oracle索引扫描:◆索引唯一扫描(index unique …

java file_java开发之File类详细使用方法介绍

File类简介在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览…

食疗去除头屑的小偏方 不错!

饮食去头屑 除了好产品和生活上的调理,通过饮食也可以控制或治疗头皮屑。蔬菜粥:适用“血虚风燥型”材料:菠菜50克、大米50克。做法:将菠菜洗净,煮去涩味,切段备用。再将白米淘净,放入锅内&…

使用 Blazor 开发内部后台(二):了解 Blazor 组件

James: 转载技术社区中一位朋友最新的文章,介绍自己为公司的 WebForm 遗留系统使用 Blazor 重写前端 UI 的经历。什么是Blazor组件Blazor 应用是使用 Razor 组件构建的。组件是用户界面 (UI) 的自包含部分,具有用于启用动态行为的处理逻辑。组件可以嵌套…

Eclipse/Myeclipse生成serialVersionUID方法

serialVersionUID作用:   序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersionUID字段。 一般来说有两种生成方式:  …

Framework 1.0/1.1中NotifyIcon的不足

.NET Framework 1.0/1.1中给我们提供了一个NotifyIcon类,使用这个类我们可以非常方便的实现系统托盘(SystemTray)图标。可是不知道微软是为了兼容性还是为了偷懒,只实现了NOTIFYICONDATA结构的v5.0之前版本,也就是说不支持5.0及以后的balloon…

pl/sql 中关于exception的学习笔记

1、异常的优点如果没有异常,在程序中,应当检查每个命令的成功还是失败,如BEGINSELECT ...-- check for ’no data found’ errorSELECT ...-- check for ’no data found’ errorSELECT ...-- check for ’no data found’ error这种实现的方…

一文读懂 .NET 中的高性能队列 Channel

介绍System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者,也让Channel更加…