gpt4 book ai didi

node.js - POST 请求将空值插入 MS SQL 数据库

转载 作者:太空宇宙 更新时间:2023-11-04 01:53:23 26 4
gpt4 key购买 nike

这是我的代码 -

onSubmit(){ 
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let postParams = {
firstName : this.firstName,
lastName : this.lastName,
gender: this.myGender,
myDate : this.myDate
};

this.http.post("ip/member", {postParams, headers}).subscribe(data => {
console.log(data);
}, error => {
console.log(error); // Error getting the data
});
}

我对 Angular 没有太多经验,所以我不太确定发生了什么,但这是将空值插入到我的 MS SQL 数据库中。 Node API 如下所示:

app.post('/member', function(req, res) {
console.log("creating member\n");
request = new Request("INSERT INTO [dbo].[tblMemberInfo] VALUES (@firstName, @lastName, @gender, @dateOfBirth);", function(err) {
if (err) {
console.log(err);}
});
request.addParameter('firstName', TYPES.VarChar , req.query.firstName);
request.addParameter('lastName', TYPES.VarChar, req.query.lastName);
request.addParameter('gender', TYPES.VarChar, req.query.gender);
request.addParameter('dateOfBirth', TYPES.Date, req.query.dateOfBirth);

request.on('doneProc', function(rowCount, more) {
console.log('Member added');
});
connection.execSql(request);
})

我尝试使用 Postman 进行插入,效果很好,而且我还确保 Angular 中的所有 postParams 都有值。有人知道发生了什么事吗?

最佳答案

只需更改此行:

this.http.post("ip/member", {postParams, headers})

致:

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

const httpOptions = {
headers: new HttpHeaders({
'Content-Type' : 'application/x-www-form-urlencoded'
})
};

this.http.post("ip/member", postParams, httpOptions);
<小时/>

根据 Angular 官方文档:

post(url: string, body: any, options?: RequestOptionsArgs)

关于node.js - POST 请求将空值插入 MS SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48860135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com