JavaScript ES6从URL获取JSON(无jQuery)

2022-04-03 00:00:00 javascript ecmascript-6 es6-promise

我想知道是否有任何ES6方法可以从URL获取json或其他数据。

jQuery Get和AJAX调用非常常见,但我不想在此调用中使用jQuery。

典型的调用如下所示:

var root = 'http://jsonplaceholder.typicode.com';

$.ajax({
  url: root + '/posts/1',
  method: 'GET'
}).then(function(data) {
  console.log(data);
});

或不使用类似如下的jQuery:

function loadXMLDoc() {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
           if (xmlhttp.status == 200) {
               document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
           }
           else if (xmlhttp.status == 400) {
              alert('There was an error 400');
           }
           else {
               alert('something else other than 200 was returned');
           }
        }
    };

    xmlhttp.open("GET", "ajax_info.txt", true);
    xmlhttp.send();
}
我的问题是...有没有什么新的方法来做这件事...例如ES6,还是仍然是同样的方式?


解决方案

拉取接口

示例:

// url (required), options (optional)
fetch('https://davidwalsh.name/some/url', {
    method: 'get'
}).then(function(response) {

}).catch(function(err) {
    // Error :(
});

有关详细信息:

https://developer.mozilla.org/en/docs/Web/API/Fetch_API

相关文章