2017-04-20 264 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),所以端口不是問題。 –