ajax post方式提交到.net core api
阿新 • • 發佈:2020-08-16
.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了