我是nodejs的新手。我正在尝试使用http请求Get,Post和Put的基本示例。我完成了POST和GET。
var http = require("http");
var port = 8081;
function getLogin(req, resp){
resp.writeHead(200, {"Content-Type" : "text/html" });
resp.write("<html><body><form action='http://localhost:8081/home' method='post'><table><tr><td>Username : <input type='text' name='username' id='username' required/></td></tr><tr><td>Password : <input type='password' name='password' id='password' required/></td></tr><tr><td><input type='submit' value='Login' /></td></tr></table></form></body></html>");
resp.end();
}
function getHome(req, resp){
resp.writeHead(200 , {'Content-Type':'text/html'});
resp.write("<html><body>Niranth<br><input type='button' value='Add Skill'/></body></html>");
resp.end();
}
function getSkill(req, resp){
}
function get404(req, resp){
resp.writeHead(404, "404", {"Content-Type" : "text/html" });
resp.write("<html><body>404</body></html>");
resp.end();
}
http.createServer(function(req, resp){
if(req.method == 'GET'){
if(req.url === "/"){
console.log("hello get");
getLogin(req, resp);
}
else
get404(req, resp);
}
else if(req.method == 'POST'){
var data = '';
if(req.url === "/home"){
req.on('data', function(chunk) {
data += chunk;
console.log("hello post");
});
req.on('end', function() {
// parse the data
getHome(req, resp)
});
}
else{
console.log("error");
}
}
else if(req.method == 'PUT'){
getSkill(req, resp);
}
}).listen(port);
我需要的是在我的回复中关于'ADD SKILL'按钮的PUT请求。 我没有使用“请求”或“快递”模块。 有关如何推进PUT请求的任何建议吗?
答案 0 :(得分:0)
可能有帮助:
var postData = {name:'someName'};
var options = {
hostname: '<HOST_NAME>', // www.examplehost.com
port: 80,
path: '<PATH>', // /upload_something
method: 'PUT',
headers: {
'Content-Type': '<CONTENT_TYPE>', // application/x-www-form-urlencoded
'Content-Length': postData.length
}
};
var req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
console.log('No more data in response.')
})
});