2016-09-17 88 views
0

我是新來的node.js,我嘗試了一些使用localhost:XXXX的簡單示例。從本地主機讀取node.js中的請求對象

我想從節點讀取我的請求對象。我有一本書,在書中他們使用cURL(某些程序)與節點而不是瀏覽器通信。是否有可能在瀏覽器地址字段中寫入內容並將其發送到本地主機,並將請求對象發送給節點,看起來就像是我在某處輸入了某個服務器的URL?如果是這樣,我該怎麼寫?如果我使用本地主機,我必須使用cURL或類似的東西嗎?

我對node和javascript非常陌生,所以我不知道我是否使用了正確的單詞。我試圖搜索,但我不認爲我知道搜索的正確術語。

這是我的服務器代碼:

var port = 3000; 
http.createServer(function (req, res) { 
    var url = parse(req.url); 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    res.end('Hello World\n' + url); 
}).listen(port); 

當我在地址欄寫http://localhost:3000/hello.com我希望我會在瀏覽器中得到Hello world hello.com,但我得到hello world [object object]

請幫助。

+1

你應該能夠將'localhost:XXXXX'放入你的瀏覽器。無論他們使用curl打網址,都應該與您在瀏覽器中放置的網址相同。如果你可以發表一些你已經嘗試過的例子,那會很棒。 –

+0

你的問題不是很清楚你是問如何使用API​​或如何獲取請求對象。如果您不熟悉cURL並獲取參數和正文使用'request.params'和'request.body',您可能會喜歡使用https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en '分別爲 –

回答

0

您可以通過測試它來使用常規瀏覽器。在您的URL地址中輸入您在cURL地址中的URL地址。例如:

localhost:3000/index.html 

如果你想有更先進的工具,它提供了有關請求/響應您可以爲

使用的工具,像Postman在代碼中使用的詳細信息:

res.end('Hello World\n' + url.parse(req.url, true)); 

url是一個對象,您需要指定您要調用的屬性或方法。

這是一個關於如何解析URL的例子。 Easy URL Parsing With Isomorphic JavaScript

+0

這看起來很不錯。我現在覺得自己像個白癡。我對JavaScript和節點很陌生,以至於我不明白我做錯了什麼。 Thx很多 – zpeedi

+0

@zpeedi沒問題,我們都在學習。 –

0

以上內容由@Vlad Beden給出的答案看起來不錯,但您可能需要使用下面的代碼

var http = require("http"); 

var port = 3000; 
http.createServer(function (req, res) { 
    console.log('Requested method: ', req.method); 
    var params = parseUrl(req.url); 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    var data = 'Hello World' 
    for(var i=0; i<params.length; i++) 
     data += '\n'+params[i] 
    res.end(data); 
}).listen(port); 

var parseUrl = function(url) { 
    var params = []; 
    if(url && url != '' && url != '/') { 
     url = url.replace(/^\/|\/$/g, ''); 
     params = url.split('/'); 
    } 
    return params; 
} 

您可以嘗試http://localhost:3000/hello.comhttp://localhost:3000/hello.com/google.com/more.com/etc玩。我想推薦你打印請求對象console.log(req)並看一看,瞭解網址,方法,頭文件等。

相關問題