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

Jak*_*kub 4 javascript ajax

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

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

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

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

Kon*_*zov 5

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

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

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

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