1. 程式人生 > 實用技巧 >ajax post方式提交到.net core api

ajax post方式提交到.net core api

.net core 和.net framework 有很多相似的地方,但是還是有很多區別的

就比如說.net core 中的依賴注入.在.net framework中很少見到,基本上不會用到,

今天要說的是ajax post方式提交到.net core api 也和.net framework不一樣

在我自己遇到的錯誤中比如400 415 偶爾還會遇到400等等,

在網上踩了很多坑,才整明白

出現415錯誤的解釋是說,伺服器無法處理請求附帶的媒體格式,實際上是contentType跟我們的json格式不同

在這裡把傳入的物件轉成json格式的字串就行了

 $("#Create").click(function () {
            
var obj = {}; obj.Name = $("#Name").val(); obj.Age = $("#Age").val(); obj.Sex = $("#Sex").val(); $.ajax({ url: "http://localhost:21054/api/User/Add", data: JSON.stringify(obj), type: 'post', dataType:
'json', contentType: 'application/json;charset=UTF-8', success: function (d) { console.log(d); } }); })

要注意這倆地方

出現400的錯誤原因是因為api少一個依賴項
在NuGet包裡面引用using Microsoft.AspNetCore.Mvc.NewtonsoftJson;

在startup裡面引用該名稱空間

在ConfigureServices方法里加上

services.AddControllers().AddNewtonsoftJson();

這樣就可以正常訪問api了