admin 发表于 2018-12-4 11:05:38

AJAX请求是异步执行的Asynchronous JS and XML

AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。
function success(text) {
    var textarea = document.getElementById('test-response-text');
    textarea.value = text;
}

function fail(code) {
    var textarea = document.getElementById('test-response-text');
    textarea.value = 'Error code: ' + code;
}

var request = new XMLHttpRequest(); // 新建XMLHttpRequest对象

request.onreadystatechange = function () { // 状态发生变化时,函数被回调
    if (request.readyState === 4) { // 成功完成
      // 判断响应结果:
      if (request.status === 200) {
            // 成功,通过responseText拿到响应的文本:
            return success(request.responseText);
      } else {
            // 失败,根据响应码判断失败原因:
            return fail(request.status);
      }
    } else {
      // HTTP请求还在继续...
    }
}

// 发送请求:
request.open('GET', '/api/categories');
request.send();

alert('请求已发送,请等待响应...');
页: [1]
查看完整版本: AJAX请求是异步执行的Asynchronous JS and XML