nodejs Express路由傳引數據互動express.Router() router.get
阿新 • • 發佈:2019-01-09
路由是指如何定義應用的端點(URIs)以及如何響應客戶端的請求。
路由是由一個 URI、HTTP 請求(GET、POST等)和若干個控制代碼組成,它的結構如下: app.METHOD(path, [callback…], callback), app 是 express 物件的一個例項, METHOD 是一個 HTTP 請求方法, path 是伺服器上的路徑, callback 是當路由匹配時要執行的函式。
下面是一個基本的路由示例:
在app.js中部分程式碼:
var app = express();
// view engine setup
app.set('views', path.join (__dirname, 'views'));
//app.set('view engine', 'html');//已經將jade變成html
app.engine('html', ejs.__express);
app.set('view engine', 'html');
app.use('/spider',spider); //中介軟體設定路由跳轉
app.set('port', process.env.PORT || 3001); // 設定監聽埠
在spider.js中:
var express = require('express');
//初始化路由
var router = express.Router();
router.get('/' , function(req, res, next) {
console.log('spider')
res.render('spider',{ title: '對某個網站進行爬去',message:'message'});
});
在spider.html中:
<title><%= title%></title>
其他程式碼沒有貼出來,展示的程式碼僅僅說明一下如何有後臺給的資料。
對應前端向後臺傳送請求的做法是:
在spider.html中:
<div class="form-group row">
<button class="btn btn-primary col-sm-1 getNewUrl">獲取新地址</button>
<label class="col-sm-3 newUrl"></label>
</div>
<script>
/*獲取新的地址*/
$('.getNewUrl').on('click',function(){
console.log('getNewUrl6666')
$.ajax({
type: "GET",
url: URL+"/spider/getInfoByType",
data: {
type:1
},
//dataType: "json",
success: function(data){
console.log(data);
$(".newUrl").text(data.newUrl)
}
});
})
</script>
在spider.js中:
//獲取對應網站的地址
router.get('/getInfoByType',function(req,res, next){
/*處理瀏覽器同源策略問題*/
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.json({newUrl:'urlurlurlurlurlurlurlurlurlurlurl'});
});
謝謝點贊和關注!