ajax请求无效的独特功能

时间:2016-09-02 11:59:08

标签: javascript ajax

我想为ajax post request创建独特的功能。

这是实际的源代码:

function doAjax(url, postData) {

  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        return xhttp.responseText;
    }
  };
  xhttp.open("POST", url, true);
  xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhttp.send(postData);

}

console.log( doAjax('shipment.php', 'fname=test1&lname=test2') );

但它不起作用,控制台显示“未定义”。

但是,如果我更改alert()的返回 - 一切正常。 那么,为什么现在回来工作?

1 个答案:

答案 0 :(得分:0)

你的函数doAjax实际上并没有返回一些东西。执行xhttp.onreadystatechange = function() {...};时,您只需为事件设置回调即表示此功能不会立即触发。无论你想做什么,你都必须在你的回调中做(或触发)它。