Navigation

    Vietnam

    Nodejs.vn

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Groups
    • Search
    1. Home
    2. Chuyển Phạm Ngọc
    C
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Chuyển Phạm Ngọc

    @Chuyển Phạm Ngọc

    0
    Reputation
    1
    Posts
    36
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Chuyển Phạm Ngọc Follow

    Best posts made by Chuyển Phạm Ngọc

    This user hasn't posted anything yet.

    Latest posts made by Chuyển Phạm Ngọc

    • [Hỏi] Nếu thay đổi url request trong 1 middleware nào đó thì các middleware khác không được nhảy đến

      Chào các bạn mình có 1 vấn đề sau:

      Khi mình thay đổi url của request trong 1 middleware nào đó thì chỉ có middleware ngay sau đó được gọi mà các middleware khác bị bỏ qua. Ví dụ đoạn code sau:

      const express = require('express')
      const app = express()
      
      app.get('/',function (req, res, next) {
       req.url = req.protocol + '://' + req.get('host') + req.originalUrl + 'next'   // thay url bằng http://localhost:3000/nxt
       console.log('middleware1');
       next()
      })
      
      app.use('/nxt',function (req, res, next) {
       console.log('middleware2');
       next()
      })
      
      app.use('/nxt',function (req, res, next) {
       console.log('middleware3');
       next()
      })
      
      app.listen(3000);
      

      Khi mình vào bằng đường dẫn http://localhost:3000 thì phần console chỉ in ra middleware1, middleware2 mà ko in ra middleware3, tức là nó đã không nhảy vào middleware3. Nhưng nếu mình vào bằng http://localhost:3000/next thì phần console in ra middleware2, middleware3, tức là nó đã có chạy vào middleware3. Ai có thể giải thích giúp mình hiện tượng đó được không ạ?

      Cảm ơn các bạn!!

      alt text

      posted in ExpressJS/Conect.IO
      C
      Chuyển Phạm Ngọc