我目前正致力于将前端连接到API,并且我确定由于格式错误的机构提供的信息而不是API所需的信息而导致以下错误。
这就是我使用邮递员从API获取数据的方式:
在邮差中,身体很简单:
{
"person" : "Jose Soto",
"connection":"Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=people;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
}
并且回复很好。我确定我错误地将$ .ajax()调用误写了。这是电话:
$.ajax({
'type' : 'POST',
'url' : '/api/getpeople',
'data' : {
'person' : user,
'connection' : app.connection
},
'success' : function(data){
data.name = '${data.fName} ${data.lName}';
app.userArray.push(data.name);
app.ppl.push({
'name' : data.name,
依旧......
答案 0 :(得分:1)
在Postman中,您明确发送JSON,而默认情况下$.ajax
将以form-urlencoded方式发送数据。错误代码和描述也意味着API不会期望您发送的格式的数据。
要更改此设置,请将contentType: 'application/json'
添加到$.ajax
设置。
答案 1 :(得分:0)
var send = '{"person" : "Jose Soto", "connection":"DataSource(localdb)\\MSSQLLocalDB;InitialCatalog=people;IntegratedSecurity=True;ConnectTimeout=30;Encrypt=False;TrustServerCertificate=True;AppicationIntent=ReadWrite;MultiSubnetFailover=False"}';
$.ajax({
url: "/api/getpeople",
type: "POST"
data: send,
dataType: "json",
contentType: "application/json",
success: function(json){
//success
}
)};
这更像您的需求,我相信您需要添加contentType