[英]input value is undefined from form
我正在嘗試使用GET方法訪問表單數據,但它給了我未定義的信息。
網址:GET /search?email=dsdsd%40gmail.com
我認為我將表單創建為:
// search.jade
// register form
form(method='GET' action='/search')
div.form-group
label(for='email') Email:
input#favoriteBook.form-control(type='email', placeholder='' name='email' required)
button.btn.btn-primary(type='submit') Search
在我的app.js中:
app.get('/search',function(req,res){ // Performing search
console.log(req.body.email); // getting UNDEFINED
loadSchema.find({email: req.body.email},function(err,users){
res.render('list',{users: users});
});
});
問題是您正在嘗試訪問GET請求的主體,但是GET請求沒有主體來訪問主體,因此您必須使用POST請求,但是由於您將值作為查詢字符串參數發送,在您的快遞代碼中,您可以通過以下方式捕獲它:
app.get('/search',function(req,res){ // Performing search
console.log(req.params.email); // no UNDEFINED
loadSchema.find({email: req.params.email},function(err,users){
res.render('list',{users: users});
});
});
查詢字符串參數位於req.params.attributeName
您可以從req.query
對象訪問查詢字符串參數。 因此,您可以通過req.query.email
獲取電子郵件屬性值。 有關req.query的更多信息,請檢查http://expressjs.com/en/api.html#req.query 。 請在您的app.js中更改為以下內容
app.get('/search',function(req,res){ // Performing search
console.log(req.query.email); // prints email value
loadSchema.find({email: req.query.email},function(err,users){
res.render('list',{users: users});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.