2017-02-21 31 views
0

我正在使用node + express。我目前有一个文本输入的形式,当你提交它搜索用户在一个mongo数据库与给定的搜索词。但是,每当我执行搜索时,当它应该是“localhost:8080/talk”时,URL将变为“localhost:8080/searchGlobalUsers”。这是帖子的路线:POST表单路由在地址栏中有POST路由

app.post('/searchGlobalUsers', function(req, res){ 
    var regex = new RegExp(req.body.globalUserSearch, 'i'); 
    console.log("GLOBAL_USER_SEARCH: " + req.body.globalUserSearch); 
    User.find({username: regex}, function(err, globalUserSearchQuery){ 
     res.render("talk", {globalUserSearchQuery : globalUserSearchQuery}); 
    }); 
}); 

,这里是我的文字输入+形式

<form action="/searchGlobalUsers" method="POST" > 
     <div class="row"> 
       <input type="text" name="globalUserSearch" class="u-full-width" placeholder="Search" id="add-friend-search-input"> 
     </div> 
     <div class="row"> 
       <button class="button-green-large" class="u-full-width" id="add-friend-search-submit">Search</button> 
     </div> 
    </form> 
+0

你正在将您的网页重定向到/ searchGlobalUsers,这就是为什么您的网址与localhost:8080/searchGlobalUsers相同,并且在searchGlobalUsers路线中您正在呈现聊天视图 –

回答

0

渲染功能是使用提供以客户 只需使用此代码

app.post('/searchGlobalUsers', function(req, res){ 
     var regex = new RegExp(req.body.globalUserSearch, 'i'); 
     console.log("GLOBAL_USER_SEARCH: " + req.body.globalUserSearch); 
     User.find({username: regex}, function(err, globalUserSearchQuery){ 
      req.flash('info', globalUserSearchQuery);    
      return res.redirect("/talk"); 
     }); 
    }); 

    app.get('/talk', function(req, res){ 
    res.render("talk", {"globalUserSearchQuery" : req.flash('info')}); 
    }) 
相关问题