JS:[Deprecation]主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用

时间:2017-06-11 19:40:30

标签: javascript ajax

我在尝试Ajax请求的项目中收到错误

  

[Deprecation]主线程上的同步XMLHttpRequest是   由于其对最终用户的不利影响而被弃用   经验。

function getReviews() {
var toReturn = $.ajax({
    url: 'API/reviews.json',
    async: false
}).responseJSON;
return toReturn;
}

我想知道是否有不同的方法来写这个没有错误

1 个答案:

答案 0 :(得分:5)

同步XMLHttpRequest非常糟糕,因为它们在等待来自服务器的响应时阻止整个应用程序,因此您永远不应该使用它们。

要使您的请求异步删除async选项并指定回调:

function getReviews(cb) {
  $.ajax({
      url: 'API/reviews.json'
  }).done(cb);
}

getReviews(function(data) {
  // Access your data here
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>