MongoClient.connect(url, function(err, client)
{
if (err) throw err;
db = client.db("Chatbot_Project");
var data = db.collection('Questions').find();
data.forEach(function (results, err)
{
if(err)
{
console.log(err);
}
var string = JSON.stringify(results);
global.str = string.substring(string.indexOf("Apply")+9 , string.indexOf("Where To Apply")-3 );
// console.log(str);
});
});
module.exports = function (app)
{
app.get('/' , function (req , res)
{
res.render('index', { message: str});
});
app.post('/' ,urlencodedParser, function(req,res)
{
var typing=JSON.stringify(req.body);
var typed =typing.substring(2,typing.indexOf(":")-1)
db.collection('Questions').find({$text:{$search:typed}},{projection:{_id: 0, "How To Apply":1,"Where To Apply":1}}).toArray(function(err, result)
{
if(err)
console.log(err);
var responding =JSON.stringify(result).substring(JSON.stringify(result).indexOf("Apply")+9 , JSON.stringify(result).indexOf(",")-2)
console.log(responding);
// res.redirect({message:responding},'/');
// res.write('',{msg:responding})
// res.redirect('/?valid=' + string);
})
})
}
我已经在Node.Js中编写了以上代码。我想呈现我从帖子中获得的结果,但这样做时会出错。我只能渲染GET方法的结果,该方法最终只会在启动时加载,并且在运行时保持不变。
<script>
$(document).ready(function ajx() {
$("input").on("keydown", function(e) {
if (e.keyCode == 13) {
e.preventDefault();
var message_typed = document.getElementById("typing").value;
var iDivServer = document.createElement('div');
iDivServer.id = 'chatContent';
$("span")[0].appendChild(iDivServer).innerHTML = message_typed;
var iDivClient = document.createElement('div');
iDivClient.id = 'chatContent_1';
$("span")[0].appendChild(iDivClient).innerHTML = "<%=message%>";
this.value = "";
var data = {username: 'user101'};
console.log(data);
$.ajax({
type: 'POST',
data: message_typed,
url: 'http://localhost:8800/',
success: function(message)
{}
});
$.ajax({
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>
我可以得到一些类似的信息吗,之后我去GET并渲染我想要的结果。因此,在我每次输入txt后,都会得到POST响应,然后根据它得到GET的回复
如果我输入“ <%= message%>”;在发布它给EJS文件中未定义的错误。 如果我将它放在GET中,它会给我带来静态结果