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

时间:2017-04-23 06:47:18

标签: javascript 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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

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

我认为你错过了关于建筑风格的基本思维导图。 REST架构可用于此任务。

REST解释:What exactly is RESTful programming?

这也有助于获得基本想法

enter image description here