我想为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()的返回 - 一切正常。 那么,为什么现在回来工作?
答案 0 :(得分:0)
你的函数doAjax实际上并没有返回一些东西。执行xhttp.onreadystatechange = function() {...};
时,您只需为事件设置回调即表示此功能不会立即触发。无论你想做什么,你都必须在你的回调中做(或触发)它。