.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了