Я пытаюсь отправить некоторые данные на сервер узла, но у меня есть вопрос:Угловая http.post как запрос метода Опции
postEmployeeForm(employee: Employee):Observable<any> {
let body = JSON.stringify(employee);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post('http://localhost:3100/postemployee', body, options)
.map(this.extractData)
.catch(this.handleError);
}
Это мой пост запрос на на вкладке Network Я вижу это как опции метод, пока на сервере я ожидаю почтовый запрос.
Если я опускаю параметры из http.post, то я получаю сообщение на сервере, но тогда у меня есть ошибка о неожиданном типе содержимого.
postEmployeeForm(employee: Employee):Observable<any> {
let body = JSON.stringify(employee);
return this.http.post('http://localhost:3100/postemployee', body)
.map(this.extractData)
.catch(this.handleError);
}
Это ожидаемое поведение, или я делаю что-то не так с почтой. Я нашел этот код на официальном угловом гиде: server-communication Как справиться с этой ситуацией, нужно ли что-то менять на стороне клиента или я должен обрабатывать ее на стороне сервера?
EDIT:
Это мой код сервера:
var http = require('http');
var formidable = require("formidable");
var util = require('util');
var server = http.createServer(function(req, res) {
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Headers','Origin, X-Requested-With, Content-Type, Accept');
if(req.method.toLowerCase() == 'post') {
console.log("Get request!");
processForm(req,res);
return;
}
});
function processForm(req,res) {
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields) {
res.writeHead(200, {
'content-type': 'application/json'
});
res.end(util.inspect({
fields: fields
}));
console.log('posted fields:\n');
console.log(util.inspect({
fields: fields
}));
});
}
var port = 3100;
server.listen(port,'localhost');
console.log("server listening on port " + port);
Какие заголовки создаются с '{заголовками: заголовки}'? –
@GrishaLevit {'Content-Type': 'application/json'} – freshbm
В чем проблема с первым блоком вашего кода? Это не инициирует почтовый запрос? –