jquery的$.get是异步的吗?
我想知道我是否应该在我的网站上使用异步调用。我知道要明确指定这一点,我需要使用jquery的$.get是异步的吗?,jquery,ajax,asynchronous,get,Jquery,Ajax,Asynchronous,Get,我想知道我是否应该在我的网站上使用异步调用。我知道要明确指定这一点,我需要使用 $.ajax 然而,最初我尝试使用$.get,尽管服务器必须返回大量信息,但我的浏览器没有卡住,我可以毫无问题地导航 我在网上搜索了一下,但是我仍然不能100%确定两者之间的区别 如果$.get是异步的,那么$.ajax有什么意义?如果不是,那么再次看看我如何在$上没有导航问题。get,使用$.ajax有什么意义 提前感谢是的,是异步的。从文件中: 这是一个速记Ajax函数,相当于: $.ajax({ url:
$.ajax
然而,最初我尝试使用$.get
,尽管服务器必须返回大量信息,但我的浏览器没有卡住,我可以毫无问题地导航
我在网上搜索了一下,但是我仍然不能100%确定两者之间的区别
如果$.get
是异步的,那么$.ajax
有什么意义?如果不是,那么再次看看我如何在$上没有导航问题。get
,使用$.ajax
有什么意义
提前感谢是的,是异步的。从文件中:
这是一个速记Ajax函数,相当于:
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
…由于没有async
选项,async
默认为true
。(请注意,async
将在jQuery的未来版本中完全消失;它将始终为真。)
如果$.get
是异步的,那么$.ajax
有什么意义
$.ajax
让您可以控制更多的选项<代码>$。get只是一种快捷方式。只是以下内容的简写:
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
正如
jQuery
所述,$.get
是更低级的$.ajax
$的方便包装器。ajax使用get方法,使用promise对象如何
function showResults(name) {
var deferred = $.Deferred, requests = [];
requests.push($.ajax({url:"/path/to/uri/?name=" + name, type: "GET", async: false}).done(function(d) {
//alert or process the results as you wish
}));
$.when.apply(undefined, requests).then(function(d) { console.log(d); /*var d is a promised late return */ deferred.resolve(); });
return deferred.promise();
}
他返回的promise对象还可以与$.when(showResults('benjamin')).done(function(){})一起使用代码>用于后期修改(如图表/图形设置等)。完全可重复使用。您还可以将此函数放入$延迟请求的循环中,例如
function updateResults() {
var deferred = $.Deferred, requests = [];
requests.push($.ajax(url:"/path/to/names/?nameArr=" + jsonArrOfNames, type: "GET", async: false}).done(function(res) { requests.push(showResults(res[0]));}) );
$.when.apply($, requests).then(function(d) { console.log(d); /*var d is a promised late return */ deferred.resolve(); });
return deferred.promise();
}
你读了吗?是的,但是因为我看不出对已经很短的东西进行速记有什么意义,所以我要求在这里确认一下。