jQuery的$ .get是异步的吗?

2021/01/31 07:31 · jquery ·  · 0评论

我想知道是否应该在我的网站上使用异步调用。我知道要明确指定我需要使用的

$.ajax

但是最初我尝试使用$.get,尽管服务器必须返回很多信息,但是我的浏览器没有卡死,而且我可以毫无问题地进行导航。

我在网上搜索了一下,但是我仍然不确定100%两者之间的区别。

如果$.get是异步的,那有什么意义$.ajax呢?如果不是,那么再次看到我的导航没有问题$.get,使用的目的是$.ajax什么?

提前致谢

是的,$.get是异步的。从文档中:

这是Ajax的简写功能,等效于:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

...并且由于没有该async选项,因此async默认为true(请注意,async在将来的jQuery版本中将完全消失;它将永远是正确的。)

如果$.get是异步的,那有什么意义$.ajax呢?

$.ajax让您可以控制更多选择。$.get只是捷径。

$.get 简而言之是:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

jQuery 文档所述$.get是更底层的便利包装$.ajax

使用GET方法的$ .ajax,如何使用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() { });后期修改(如图表/图形设置等)。完全可重用。您也可以将此函数放入$ .deferred请求的循环中,例如,

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();
            }
本文地址:http://jquery.askforanswer.com/jqueryde-getshiyibudema.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!