我有以下代码,必须完整且不能修改。
function newUser(username, email, callback) {
var xhr = new XMLHttpRequest();
var response;
var success = (!!Math.round(Math.random()));
if (!success){
response = JSON.stringify({
success: success,
error: "Oups, something went wrong!"
});
} else {
response = JSON.stringify({
success: success,
user: {
username: username,
email: email
}
});
}
xhr.open("POST", "/echo/json/");
xhr.onload = function () {
if (xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
}
}
xhr.send("json=" + response);
};
首先,我想在 Click 上调用一个函数 (newUser),然后我想在该函数内的 AJAX 请求成功时显示并发出警报。到目前为止我有类似的东西
var el = document.getElementById("myButton");
el.onclick = addUser;
if (success){
alert (‘successful’);
}
由于我无法修改 addUser 函数,我认为我需要添加某种 JavaScript 包装器来访问它。也许我想太多了,但我无法让它发挥作用。
最佳答案
不完全确定我理解你的问题,但让我尽力提供帮助。指定处理函数:
function onSuccess(result){
alert (‘successful’)
}
然后调用newUser
:
el.onclick = addUser("userName", "userEmal", onSuccess);
根据您提供的源代码,如果出现 200
响应,将调用 onSuccess
。
关于javascript - 如何创建一个可以访问函数及其对象的 JavaScript 包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950988/