繁体   English   中英

从txtfield获取并连接到数据库以及nodeJS

[英]Fetching from txtfield and connecting to the database as well as nodeJS

这在My EJS文件中,其中表示未声明消息。 我希望在文本字段中编写的Thing可以在JS文件中进行键搜索,以进行进一步的操作。

<script> 
                        $(document).ready(function ajx() 
                        {
                            $("input").on("keydown",function (e) 
                            {
                                if(e.keyCode == 13)
                                {
                                    e.preventDefault();
                                    message = document.getElementById("typing").value;
                                    var iDiv = document.createElement('div');
                                    iDiv.id = 'chatContent';
                                    $("span")[0].appendChild(iDiv).innerHTML=message;
                                    this.value="";
                                    var data = {username:'user101'};
                                    console.log(data);

                                    $.ajax(
                                        {
                                            type: 'POST',
                                            data: JSON.stringify(data),
                                            url: 'http://localhost:8800/',
                                            success: function(data) 
                                            {
                                                console.log('success');
                                                console.log(JSON.stringify(data));
                                                document.getElementById('chatContent').innerHTML= "<%=message%>"
                                            }
                                        });
                                }
                            })
                            $("input").on("focus",function(e)
                            {
                                document.getElementById("chat-feedback").innerHTML="<p><i>Typing....</i></p>"
                            });
                            $("input").on("blur",function(e)
                            {
                                document.getElementById("chat-feedback").innerHTML="<p id='ignore'>........</p> ";
                            });
                        });
                    </script> 
                <!-- </form> -->

            </div>   <!-- end chat -->
            <input type="text" id="typing" onkeydown="ajx()">

这是我使用Message变量发布内容的JS文件。如果删除ajax type:post,则将使用在文本框中输入的内容进行键搜索来打印数据库的最后一行而不是整个数据库上面的代码。

var MongoClient = require('mongodb').MongoClient;
var url ="mongodb://localhost:27017/Chatbot_Project";

MongoClient.connect(url, function(err, client) 
{
    if (err) throw err;
    db = client.db("Chatbot_Project");
    var data = db.collection('Question').find();
data.forEach(function (results, err)
{
    if(err)
    {
        console.log(err);
    }
    var string = JSON.stringify(results);
    console.log(string);
}); 
});

module.exports = function (app)
{

    app.get('/' , function(req,res)
    {
    res.render('index');
})

app.post('/' , function (req , res)
{
    const searchTerm = req.body.message;
    db.find({$text:{$search : searchTerm }},{projection:{_id: 0, What_are_those:1}}).exec((err,str_ID) =>
    {
        res.send('index',{message:str_ID}); 
    })
}); 
}

我认为将'message ='更改为'var message ='将摆脱错误。 当前,您正在将其设置为全局变量,与“ window.message =”相同,这在模块文件中是不允许的,并且通常被认为是不好的做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM