你是對的,你的第一個例子不是查詢字符串。 A query string始終以?
爲前綴,如第二個示例中所示。至於在服務器上接受它的價值,我不確定你是否想知道如何解析它,或者如果你想知道如何設置整個服務器。如果你只是想分析的節點查詢字符串,你可以使用內置的url和querystring模塊,像這樣:
const url = require('url');
const querystring = require('querystring');
let mockUrl = 'http://localhost:8080/api/categories?parent=babar';
let query = url.parse(mockUrl).query; // => 'parent=babar'
let data = querystring.parse(query); // => { parent: 'babar' }
console.log(data.parent); // => 'babar'
如果你想知道如何建立一個最小的服務器將處理請求與查詢字符串,我會建議使用express而不是節點的內置功能。在與body-parser組合,你甚至不會擔心解析位:
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// Configure server to parse JSON for us
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
// Handle request to our route
app.get('/api/categories', (req, res) => {
// Do something with the value of the query property:
console.log(req.query.parent);
});
// Start the server at http://localhost:8080
app.listen(8080);
更多細節在相當入門級,你可能會發現這個blog post有用:
太感謝你了! !它確實工作! –