Как POST метод из Angular -> NodeJs / ExpressJs -> MySQL - PullRequest
0 голосов
/ 23 декабря 2018

Метод GET работает нормально, но когда я вызываю метод POST в моем угловом проекте, кажется, что функция POST на nodeJs не вызывается.Что я делаю не так?

Служба Angular:

getAllProducts():  Observable<Product[]> {
return this.http.get<Product[]>('http://localhost:3000/api/content');
}

insertProduct(product: Product): Observable<Product> {
return this.http.post<Product>('http://localhost:3000/api/content', product);
}

server.js:

app.get('/api/content', function (req, res, next) {
    // query to the database and get the records
    mc.query('select * from testContent', function (err, recordset) {

        if (err) console.log(err)

        // send records as a response
        res.send(recordset); 
    });
});


app.post("/api/content",function(req , res, next){

    console.log('I will not get printed');

    mc.query('INSERT INTO testContent (productName,productCode) VALUES (\''+req.body.productName + '\',\'' + req.body.productCode + '\')',function (err, recordset) {

        if (err) console.log(err)

        // send records as a response
        res.send(recordset);

    });

});

1 Ответ

0 голосов
/ 23 декабря 2018

Возможно, вам нужен заголовок "Content-Type" в вашем почтовом запросе, например:

import { HttpClient, HttpHeaders } from '@angular/common/http';

insertProduct(product: Product): Observable<Product> {
  return this.http.post<Product>('http://localhost:3000/api/content', product, {
    headers: new HttpHeaders({ 'Content-Type': 'application/json' })
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...