2017-04-20 184 views
1

我目前正致力于获得连接到API的前端,并且我确信由于格式错误的机构提供的信息并不是API所需的,所以我得到以下错误。编写AJAX Post HTTP请求

jQuery error response in console.

这是我用邮递员来了解从API数据:

Postman snip

在邮差,身体很简单:

{ 
"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
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

+0

我为你修好了报价 –

+0

注意你也打我了! - 现在有一个upvote @RoryMcCrossan – FakeCaleb

+0

,它给出了一个404响应....但它是从端口5000像我的网站的其余部分服务。 (Postman仍然可以运行,现在我正在测试5000. –

1

在邮差你明确默认$.ajax发送JSON,而将发送数据窗体-urlencoded。错误代码和描述也意味着API不会以您发送的格式获得数据。

要更改此项,请将contentType: 'application/json'设置为$.ajax设置。

+0

不错!谢谢!现在测试这个。 –

+0

@ChrisRutherford请注意,如果API的端口设置与网站的端口设置不同,则可能需要使用完整路径而不是相对路径 –

+0

网站由ASP.Net核心提供,我正在查看网站来自同一个港口。 (UseStaticFiles),所以端口不是问题。 –