jQuery中的$.getJSON、$.ajax、$.get、$.post的区别
jQuery中的$.getJSON、$.ajax、$.get、$.post的区别
使用见Flask(python)异步(ajax)返回json格式数据
①.$.getJSON
$.getJSON()是专门为ajax获取json数据而设置的,并且支持跨域调用,其语法的格式为:
getJSON(url,[data],[callback])
- url:string类型, 发送请求地址
- data :可选参数, 待发送 Key/value 参数 ,同get,post类型的data
- callback :可选参数,载入成功时回调函数,同get,post类型的callback
$.getJSON("{{ url_for('form_data') }}",params, function (result) {
$("#myDiv").append("hello world1");
console.log(obj.username + "<br>");
});
②.$.ajax
$.ajax
是 jQuery 底层 AJAX 实现,$.ajax
是一种通用的底层封装,$.ajax(
)请求数据之后,则需要使用回调函数,有beforeSend、error、dataFilter、success、complete等。
格式:
$.ajax({
url:”路径”,
type:”post/get”,
datatype:”json”,
//成功的回调函数
success:function(data){
alert(“回调函数成功了”);
},
//失败的回调函数
error:function(){
alert(“服务器请求失败”);
}, //发送请求前调用,可以放一些“正在加载”之类的话
beforeSend:function(){
alert(“正在加载”);
}
});
例如:
$.ajax({
"url": "{{ url_for('form_data') }}",
"type": "POST",
"data": params,
"success": function (obj) {
$("#myDiv").append("hello world")
console.log(obj.username + "<br>")
},
"error": function (obj) {
console.log(obj)
},
"dataType": "json",
"async": true
});
③.$.get
$.get
是简单易用的高层实现,我们使用$.get
方法,jQuery会自动封装调用底层的$.ajax
。
$.get
只处理简单的 GET 请求功能以取代复杂 $.ajax
,请求成功时可调用回调函数。不支持出错时执行函数,否则必须使用$.ajax
。
$.get( url ,[data] ,[callback] )
- url:string类型,ajax请求的地址。
- data:可选参数,object类型,发送至服务器的key/value数据会作为QueryString附加到请求URL中。
- callback:可选参数,function类型,当ajax返回成功时自动调用该函数。
例如:
$.get("{{ url_for('form_data') }}", params, function (obj) {
$("#myDiv").append("hello world")
console.log(obj.username + "<br>");
}, "json");
④.$.post
$.post
是简单易用的高层实现,我们使用$.post
方法,jQuery会自动封装调用底层的$.ajax
。
$.post
只处理 post请求功能以取代复杂 $.ajax
。请求成功时可调用回调函数。不支持出错时执行函数,否则必须使用$.ajax
。
$.post(url,[data],[callback],[type])
这个方法和$.get()用法差不多,唯独多了一个type参数,那么这里就只介绍type参数吧,其他的参考上面$.get()的。
- type:type为请求的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就和.get()返回的格式一样,都是字符串的。
例如:
$.post("{{ url_for('form_data') }}", params, function (obj) {
$("#myDiv").append(obj.username + "<br>")
console.log(obj);
}, "json");
jQuery中的$.getJSON、$.ajax、$.get、$.post的区别的更多相关文章
- jquery中,size()和length()方法有啥区别
jquery中,size()和length()方法有啥区别? size()是jQuery提供的函数,而length是属性(不带括号). jQuery提供的源代码是这样的: size: function ...
- jQuery中hover与mouseover和mouseout的区别分析
本文实例分析了jQuery中hover与mouseover和mouseout的区别.分享给大家供大家参考,具体如下: 以前一直以为在jquery中其实mouseover和mouseout两个事件等于h ...
- [转载]jQuery中的html,val,text区别
在jquery中 text() 返回目标元素所包含的所有文本内容,注意不包含html标签 alert($("#shuru").text()); 1 html() 返回目标元素所包含 ...
- jquery中$.get()提交和$.post()提交有区别
jquery中$.get()提交和$.post()提交有区别吗? 相同点:都是异步请求的方式来获取服务端的数据: 异同点: 1.请求方式不同:$.get() 方法使用GET方法来进行异步请求的.$.p ...
- jQuery中的getJSON()
json文件是一种轻量级的数据交互格式.一般在jQuery中使用getJSON()方法读取. $.getJSON(url,[data],[callback]) url:json文件地址 data:可选 ...
- Jquery中bind和live.one,delegate的区别
Jquery中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function ...
- jQuery中append(),prepend()与after(),before()的区别
在jQuery中,添加元素有append(),prepend和 after(),before()两种共四个. 根据字面意思我们可以看出他们分别是追加,添加和之前,之后,意思相近.同时他们又都有添加元素 ...
- jquery 中后代遍历之children、find区别
jquery 中children.find区别 首先看一段HTML代码,如下: <table id="tb"> <tr> <td>0</t ...
- Jquery中$.each()与$().each()的使用与区别。
在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法.两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点. $().each,对于这个方法,在d ...
- jQuery中四种事件监听的区别
原文链接:点我 我们知道jquery提供了四种事件监听方式,分别是bind.live.delegate.on,下面就分别对这四种事件监听方式分析. 已知有4个列表元素: 列表元素1 列表元素2 列表元 ...
随机推荐
- 如何开启远程debug调试功能?
远程debug步骤: 1.vi /usr/local/sa/tomcat-ui/bin/catalina.sh 最顶上加export JPDA_ADDRESS=12345 2.vi /usr/loca ...
- react-native获取屏幕尺寸
项目中需要获取手机的尺寸 import {Dimensions} from "react-native" var WINDOW = Dimensions.get("win ...
- 008_ssl Certificate Pinning
证书锁定Certificate Pinning技术 在中间人攻击中,攻击主机通常截断客户端和服务器的加密通信.攻击机以自己的证书替代服务器发给客户端的证书.通常,客户端不会验证该证书,直接接受该证书, ...
- typecho视频播放插件JWPlayer
JWplayer for typecho是羽中大神开发并持续维护的一款插件,目前插件已经发布了8个版本,涵盖typecho0.8到1.0,插件基于原生的JWPlayer,可以说非常完美,详细使用方法在 ...
- Android Studio项目Gradle内网配置
由于内网无法连接到外部网络,在使用Gradle编译Android Studio项目时就会面临一些问题: 1.Gradle安装文件无法下载 2.Gradle Android插件无法下载 3.项目依赖文件 ...
- JAVA 数组作为方法参数—传递地址
package Code411;//数组作为方法参数—传递地址public class DodeArrayParam { public static void main(String[] args) ...
- background-image属性
background-image 属性 实例,设置body元素的背景图像: body { background-image: url('paper.gif'); background-color: # ...
- git remote: HTTP Basic: Access denied Mac 使用Sourcetree 密码输错 再次输入解决方案
删除下面的key即可
- Java的家庭记账本程序(J)
日期:2019.3.9 博客期:041 星期六 这次就来看看我使用全新的模板写的家庭记账本程序!本次附带配色样式!作为本周的学习进度条吧!明天再研究微信小程序的方法! 这一次的记账本程序加了很多功能! ...
- Android Studio打开项目,停在gradle的解决方案
之所以停留,是因为打开项目时,Android Studio解析项目使用的gradle,并下载对应版本的gradle,但是由于下载gradle的服务器在国外,这个下载速度非常不稳定,从而导致停留在这一步 ...