2017-04-23 155 views
0

我首先将<%= searchString%>发送到前端。 然后,我试图在我的搜索页面上添加一个排序功能。 如何在使用排序功能重新搜索时,将searchString值发送回我的后端。如何将数据从前端jQuery传递到后端node.js

node.js的段码

router.get('/search', function(req, res){ 
 
\t 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)); 
 
\t 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>

+1

用同样的方法,你会与任何后端。它与NodeJS无关。你可以在jQuery中使用$ .get或$ .post。 –

回答

0

您可以使用.post的$ jQuery中打在你的情况下,node.js中/ express.js定义的路线。

我想你错过了关于建筑风格的基本思维导图。 REST体系结构可用于此任务。

说明对REST:What exactly is RESTful programming?

这将有助于获得基本的想法以及

enter image description here

相关问题