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了

原文地址:https://www.cnblogs.com/ataoliu/p/13514254.html