簡體   English   中英

輸入值未從表單中定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM