有没有办法从浏览器将变量传递给node.js,而无需表单或输入标签?

时间:2018-11-12 15:01:50

标签: node.js routing

我正在编写一个node.js代码。在浏览器端,我已经从服务器获取了所有文件名。现在,我想通过单击打开其中一个文件吗? 如何不使用表单将文件名传递给服务器? 实际上,我使用表格,但是我没有输入。因此我无法识别node.js中的数据? 例如,我有10

  • 标记,每个标记都有一个文件名。通过单击此名称,我必须将文件的名称发送到服务器。 这是我的客户端代码:

       <form  action="openMEasText" method="POST">
         <ul>
           <%articles.forEach(file => {%>
           <li ><input type="submit" method="POST" name= 
           <%=file.slice(0,-4);%>/></li>
           <%  });%>
    
         </ul>
       </form>
    

    最好的问候

  • 1 个答案:

    答案 0 :(得分:0)

    您不需要表格。 您可以使用axios之类的库从前端发送HTTP发布请求。 使用onclick事件并将文件名发送到后端。

    <li onclick="makePostRequest("fileName")"><%=fileName %></li>
    <script>
        function makePostRequest(name) {
            axios({
                method: 'post',
                url: '/route-you-define-in-backend',
                data: {
                    fileName: name,
                }
            });
        }
    </script>
    

    在后端处理所需的帖子请求

    app.post('/route-you-define-in-backend',
    (req, res)=> {
        // req.body.fileName
    }