我如何处理不同步的请求,因为它不起作用,它应该在响应中发出警报

时间:2020-03-13 16:32:45

标签: javascript json xmlhttprequest

var data = new FormData();
data.append("name", nickname.value);
data.append("email", email.value);
data.append("user", user.value);
data.append("passw", passw.value);

var req = new XMLHttpRequest();
req.onreadystatechange = function() { 
    if (req.readyState == 4 && req.status == 200)
        afterSignup(req.responseText);
}
req.open("GET", server, true); // true for asynchronous 
req.send(data);

function afterSignup(req) {
    res = JSON.parse(req)["res"];
    alert(res);
}

我正在尝试处理异步的请求,但我只是不确定如何做到这一点,这是我到目前为止所要做的

2 个答案:

答案 0 :(得分:0)

将异步值更改为false以使其同步。

req.open("POST", `${server}/signup`, false);

答案 1 :(得分:-1)

有很多 个JavaScript库...大小不一...我很难建议您花很多时间来重新发明它。

例如:https://github.com/freelancephp/simpleAjax.js

 simpleAjax.get('ajax.html', function (data) {
     alert(data);
 });

景气。做完了完了,走吧。作者说他的库是“跨平台的”,“甚至适用于IE7 +的作品”((yuck)),并且缩小了约3KB。因此,“只要抓住它就走。”

(有成百上千个这样的程序包……AJAX确实已经死了。)