2013-03-28 62 views
3

我只是想在服務器端腳本上做一些類似$.get/post的事情。有沒有更好的方法,而不是包括整個jQuery?我寧願不要手動使用亂七八糟的獲取xml http請求的東西。AJAX幫助NodeJS,而不是jQuery?

回答

3

等值的node.js到jquery.ajax是request

它坐落在節點核心HTTP之上,使事情變得更好的工作。允許回調和流式傳輸請求。

例子:

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Print the google web page. 
    } 
}) 

request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png')) 
2

要求http。由於他們的文檔中找到,你可以做類似下面的要求:

var options = { 
    hostname: 'www.google.com', 
    port: 80, 
    path: '/upload', 
    method: 'POST' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }); 
}); 

req.on('error', function(e) { 
    console.log('problem with request: ' + e.message); 
}); 

// write data to request body 
req.write('data\n'); 
req.write('data\n'); 
req.end(); 

有一個簡單的GET還有:

http.get("http://www.google.com/index.html", function(res) { 
    console.log("Got response: " + res.statusCode); 
}).on('error', function(e) { 
    console.log("Got error: " + e.message); 
}); 

您還可以查看到Express.jsrequest,真的有很多選擇你可以使用除jQuery之外。