1. 程式人生 > >node.js GET 請求簡單案例

node.js GET 請求簡單案例

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 請求簡單案例