node.js GET 請求簡單案例
阿新 • • 發佈:2017-10-27
listen request fun 搜索 技術分享 商品 node 簡單 req
最近在學習node請求中遇到一些小坑,現重新整理如下:
首先創建一個index.ejs模塊視圖:
<h1>vsmart app</h1> <p>please enter your search term:</p> <form action="/search" method="GET"> <input type="test" name="skuIds" /> <button>search</button> </form>
我們再定義一個點擊上面的搜索按鈕跳轉後顯示的search.ejs模板:
<h1>op: <%= op %></h1> <h1>m: <%= m %></h1> <h1>id: <%= id %></h1> <h1>p: <%= p %></h1>
接下來我們開始寫server.js 主程序入口
var express = require(‘express‘); //導入express模塊 var url = require(‘url‘); //導入url請求模塊 var search = require(‘./search‘); //導入自定義請求模塊 var app = express(); app.set(‘view engine‘, ‘ejs‘); // 設置模塊引擎 app.set(‘views‘, __dirname+‘/views‘); // 設置視圖目錄 app.set(‘view options‘,{layout:false}); app.get(‘/‘, function(reg, res){ //首先打開的默認地址路由 res.render(‘index‘); }); app.get(‘/search‘, function(req, res, next){ // 真正要添加的搜索路由search(req.query.skuIds,req, function(data){ res.render(‘search‘,{ //處理返回和數據 "op":data.op,"m":data.m,"id":data.id,"p":data.p }) }) }); app.listen(3000);
還有上面所要依賴導入的模塊 search.js
var request = require(‘request‘); module.exports = function search(query,req,fn){ request(‘http://p.3.cn/prices/mgets?skuIds=‘+‘J_‘+query,function(error, res, body){ // 此接口是京東商城商品價格查詢接口 return fn(JSON.parse(res.body)[0]); }) }
最後我們在控制臺 node server.js
在瀏覽器中打開頁面
http://localhost:3000/
輸入在京東商城找到的商品ID號,頁面跳轉到search.ejs
顯示如下
node.js GET 請求簡單案例