将POST响应发送到客户端以通过html页面显示

时间:2018-02-02 14:14:17

标签: javascript html node.js express

我在\n

中有一个按钮

的index.html

index.html

当按下按钮时,我读取数据库以检索如下的一些数据。

aws.js

<form action="/view" method="POST">
    <input type = "email" placeholder="Enter Your Email" name = "emailView" id = "txtEmailView">
    <input type = "submit" id = "btnView" value = "View Application" >
</form>

现在,我需要将读取的响应发送到其他客户端app.post('/view', function(req, res) { //need to read from database var email = req.body.emailView; var paramsRead = { TableName: tableNameShopper, Key:{ "email": email } }; readFromTable(paramsRead).then((results) => { var objShopper = JSON.parse(results); if(results =="{}"){ //nothing to do } else{ //send response from here } }); }); ,而不是view.html。我该怎么做?

view.html

index.html

1 个答案:

答案 0 :(得分:1)

您将无法将回复重定向到其他人。这不是HTTP的工作方式。

相反,aws.js只会回复successfailure或只回复finishedindex.html,无论是否可以关注它它应该继续做什么,如果有的话。 将响应发送回index.html之前,您需要触发最终获取view.html相应信息的任何事件。

你可以基本上以两种方式做到这一点,但它们都会以同样的方式开始。你必须在某个数据库中放置一条记录,说“嘿,这发生了,这就是index.html发给我的东西”。然后你可以用以下两种方式之一来处理它:

  1. view.html持续获取另一个只查看数据库的端点,如果刚刚插入,则返回index.html中的信息,如果{,则返回'抱歉,还没有新信息' {1}}尚未提交。

  2. index.html打开一个websocket到服务器上的另一个端点,该端点监视数据库以获取新记录,或者在提交内容时由view.html直接通知,此websocket端点可以使用适当的信息直接向客户发送消息。