如何创建一个可以访问函数及其对象的 JavaScript 包装器?

打屁股

我有以下代码必须完整且无法修改。

        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);

onSuccess根据200您提供的源代码,将在响应的情况下调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章