如何从简单的ES6应用程序进行Http操作

时间:2017-04-20 07:44:14

标签: json http ecmascript-6 xmlhttprequest

我正在开发没有任何框架的简单应用程序。

如何进行简单的Http请求(获取/发布)?

我了解XMLHttpRequest():

var xhr = new XMLHttpRequest();

xhr.open('GET', 'phones.json', false);

xhr.send();

if (xhr.status != 200) {

  alert( xhr.status + ': ' + xhr.statusText );  
} else {
  alert( xhr.responseText );  
}

但也许有另一种方式?

  • 请不要任何图书馆。

1 个答案:

答案 0 :(得分:1)

嗯,据我所知,es6 specifications中没有任何内容可以更改XMLHttpRequest API以使其更容易,因此对您的问题不合适。

你仍然需要写几行来使它更具有#34; es6风格",比如宣传它like here

const request = (params) => {
    return new Promise((resolve, reject) => {
        const xhr = new XMLHttpRequest();
        xhr.open(params.method || "GET", params.url);
        if (params.headers) {
            Object.keys(params.headers).forEach(key => {
                xhr.setRequestHeader(key, params.headers[key]);
            });
        }
        xhr.onload = () => {
            if (xhr.status >= 200 && xhr.status < 300) {
                resolve(xhr.response);
            } else {
                reject(xhr.statusText);
            }
        };
        xhr.onerror = () => reject(xhr.statusText);
        xhr.send(params.body);
    });
};