javascript - Internet Explorer 9 不向 Nodejs 中的数据库发送数据

标签 javascript mysql node.js internet-explorer express

我有一个 express 网站,里面有一个表格。该表单允许我们将用户信息数据发送到数据库(mysql)。我注意到,当我们使用 Internet Explorer 时,提交功能不会向数据库发送任何数据。其他浏览器工作得很好。但 IE 不向数据库发送任何内容。当使用 IE 单击提交后,表单会将我们发送到确认页面,表明提交成功。但数据库里什么也没有。我使用的代码如下。这是admission.js 路由器文件。

router.post('/add-application', function (req, res) {
var first_name = req.body.first_name;
var middle_name= req.body.middle_name;
var last_name = req.body.last_name;

//check errors
req.checkBody('first_name', 'First name is required').notEmpty();

var errors = req.validationErrors();

if (errors) {
    res.render('/error', {
        errors:errors,
        first_name : first_name,
        middle_name :  middle_name,
        last_name : last_name          
    });
} else {
    var applications = {
       first_name : first_name,
        middle_name :  middle_name,
        last_name : last_name
    };
}

var query = connection.query('INSERT INTO applications SET ?', applications, function (err, result) {
    console.log('Error:' + err);
    console.log('Success: ' + result);
});

req.flash('success_msg', 'Application Inserted!');
res.redirect('/');
});

我在标题上还有以下适用于 IE 的脚本:

<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>

这是表格:

<div class="container">
<div class="row">
<h2>Register</h2>
    <form class="form-register" method="post" action="/admission/add-application">
        <div class="col-lg-12">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h4><i class="fa fa-fw fa-check"></i>Information</h4>
                </div>
                <div class="panel-body">

                    <label>First Name</label>
                    <input name="first_name" type="text" class="form-control" placeholder="Enter the first name" required><br />

                    <label>Middle Name</label>
                    <input name="middle_name" type="text" class="form-control" placeholder="Enter the middle name" ><br />

                    <label>Last Name</label>
                    <input name="last_name" type="text" class="form-control" placeholder="Enter the last name" required ><br />

                </div>

            </div>
        </div>

        <div class="col-lg-12">
            <input style="width:25%" class="btn btn-lg btn-primary btn-block" type="submit" name="submit" value="Submit" />
        </div>
    </form>
    </div>
</div>

最佳答案

Internet Explorer 9 || < 不支持主要组件。 Websocket 和提交表单功能只是其中两个。所以解决办法很简单。不要使用 IE。

关于javascript - Internet Explorer 9 不向 Nodejs 中的数据库发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875217/

相关文章:

MySQL 左连接多个表和 where 子句

node.js - Nodejs : disconnected client from the server by socketio

javascript - 更新 mongoose 对象数组

javascript - jQuery/CSS : Changing the height and width attributes of an image when clicked

javascript - HTML 脚本标记变灰且未加载

mysql - JSP + Spring + MySQL 提交时填充表

java - 通过 Web 服务可以传输的最大数据量是多少?

arrays - 使用 Node js 将嵌套的 json 值推送到数组

javascript - 使用 Javascript 比较 2 个数组并找出差异

javascript - Node.js 与 mySQL -> 连接拒绝 127.0.0.1 : 3306