带有promises的XMLHttpRequest返回null响应

时间:2017-03-01 14:07:41

标签: javascript ajax es6-promise

我试图在不使用jquery的情况下调用ajax请求。使用ECMA Script6:

var promise1 = new Promise(function(resolve, reject) {
        var xhr = new XMLHttpRequest();
        var url = urls.urlListChapters.replace(0, specificationId);
        xhr.open('GET', url, true);
        xhr.responseType = 'json';
        xhr.onload = function() {
            if (xhr.status === 200) {
                alert(xhr.response);
                resolve(xhr.response);
            } else {
                reject(new Error(xhr.statusText));
            }
        };
        xhr.onerror = function() {
            reject(new Error("Network error"));
        };
        xhr.send();
    });
    promise1.then(function(data) {
        alert('Your public IP address is: ' + data);
    }, function(status) {
        alert('Something went wrong.');
    });

我得到的响应为“null”。但是,使用我的ol jquery方法,我确实得到了对象列表。

$.ajax({
        url: urls.urlListChapters.replace(0, specificationId),
        dataType: 'json',
        method: 'GET',
    })
    .done(function(data) {
        var data = JSON.parse(data);
        console.log(data);
        alert(1)
    })
    .fail(function(jqXHR, textStatus, errorThrown){
        console.log(jqXHR);
        alert('WHAT!');
    });

我有什么遗失的吗?

0 个答案:

没有答案