繁体   English   中英

如何将数据从前端jQuery传递到后端node.js

[英]How to pass data from frontend jQuery to backend node.js

我首先将<%= searchString%>发送到前端。 然后,我尝试在搜索页面上添加排序功能。 使用排序功能重做搜索时,如何获取searchString值发送回我的后端。

node.js段代码

 router.get('/search', function(req, res){ console.log("Searching " + JSON.stringify(req.query)); var results = []; for(var i in restaurants) { for(var j in restaurants[i]["categories"]) { var category = restaurants[i]["categories"][j]; if(req.query.q && req.query.q.indexOf(category) != -1) { results.push({ name: restaurants[i]["name"], price: restaurants[i]["priceCat"], categories: restaurants[i]["categories"] }); } } } console.log("Search Results: " + JSON.stringify(results)); res.render('pages/search', { pageTitle: "search", searchString: req.query.q, results : results }); }); 
 <%- contentFor('body') %> <h1>Search Results: <small><%=searchString%></small></h1> <% if (results.length === 0) { %> <h4>No results found</h4> <% } else { %> <h2><small>Sort by:</small> <div class="row-sm-1"> <form action="/search" method="GET"> <div class="form-group"> <a href="/search"> <button type="submit" name="price" class="btn btn-primary btn-lg">Price</button> </a> </div> </form> </div> </h2> <table class="table"> <tr> <th>Name</th><th>Price</th><th>Category</th> </tr> <% for(var i = 0; i < results.length; i++) {%> <tr> <td><%= results[i].name%></td> <td><%= results[i].price%></td> <td> <% for(var j = 0; j < results[i].categories.length; j++) {%> <%= results[i].categories[j]%><% if(j != results[i].categories.length - 1) {%>,<%}%> <%}%> </td> </tr> <%}%> <%}%> </table> 

您可以在jquery中使用$ .post来达到在您的情况下在node.js / express.js中定义的路由。

我认为您缺少有关建筑风格的基本思维导图。 REST体系结构可用于此任务。

REST解释: RESTful编程到底是什么?

这也将有助于获得基本思想

在此处输入图片说明

暂无
暂无

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

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