在addeventlistener回调函数

时间:2017-07-11 14:24:49

标签: javascript node.js https crash electron

我正在制作一个将用户登录到系统的基本电子应用程序。用户名和密码由用户通过表单文本输入提供,当单击“登录”按钮时,程序会发出一些https请求,并对用户进行签名。

我有一个事件监听器附加到“登录”按钮,单击该按钮时会触发该按钮。它的回调函数应该获取输入的用户名和密码,并发出签名用户所需的https请求。但是,当https请求在回调函数内时,电子渲染器进程崩溃(显示白屏和“dev tools disconnected”)。

以下是一些描述问题的伪代码:

//This case crashes Electron
button.addEventListener('click', function() {
    username = document.getElementById('username').value;
    password = document.getElementById('password').value;

    req = https.request(options, function(res) {
        //Login stuff here, including a post request
        //that sends the username and password to a server
    });
    req.end();
});  

当我将https请求移出回调函数并将用户名和密码硬编码到程序中时,一切都按预期工作。

工作案例的伪代码:

//This case does not crash Electron
username = "someUsername"
password = "somePassword"

req = https.request(options, function(res) {
    //Login stuff here, including another post request
    //that sends to username and password to a server
});

我希望能够动态获取用户名和密码,并发出必要的https请求,以便将用户签入系统。我一直在搜索有关此内容的任何信息,但我找不到有类似问题的人。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

<强>分辨

我的按钮被标记为“type ='submit'”并将其切换为“type ='button'”解决了这个问题。