検索

ホームページ  >  に質問  >  本文

node.js - express无法获取req.params值?

var express = require('express');
var bodyParser = require('body-parser')
var port = process.env.PORT || 3000
var app = express()
var path = require('path');
var mongoose = require('mongoose')
var _ = require('underscore')
var fs = require('fs');
var jsonParser = bodyParser.json()
var urlencodedParser = bodyParser.urlencoded({ extended: false })
mongoose.connect('mongodb://localhost/meetdb')

app.set('views', './views/pages')
app.set('view engine', 'jade')

app.use(urlencodedParser);
app.use(express.static(path.join(__dirname, 'public')))
app.listen(port)

// user 相关
app.post('/user/signup',function (req,res){
  console.log(req.params)
 console.log(req.body)
})

可以获取到req.body,但是无法获取到req.params。我看网上说的是可以同时获取query和body的值。

迷茫迷茫2875日前723

全員に返信(3)返信します

  • 怪我咯

    怪我咯2017-04-17 16:28:45

    通常、パス内のパラメータを取得するには req.params を使用します

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 16:28:45

    私の理解では、req.params にはパラメーター化されたパス内のパラメーターのみが含まれます。クエリ文字列内のパラメータを取得しますか?

    クエリ文字列のパラメータには req.query を使用する必要があります。

    たとえば

    リーリー リーリー

    このようなリクエストでは、req.query.fooreq.query.bar を使用して foo と bar の値を取得する必要があり、最終的な出力は次のようになります。

    リーリー

    この問題について言えば、console.log の効率が遅すぎるため、ブレークポイントを使用しないのはなぜでしょうか:

    VSCode ブレークポイントを使用して変数を表示するのがどれほど素晴らしいかを見てください。

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 16:28:45

    /user/signup here /user/signup/:aaa params のみがあります

    返事
    0
  • キャンセル返事