Asp.Net
1.Get
后台:普通类型传参
public string Get(string name, string pwd) { return $"{name}-{pwd}"; }
前台:
$.ajax({ type: 'Get', url: 'http://localhost:64133/api/ByGet', data: { "Name": "张三", "Pwd": "123" }, contentType: 'application/json', success: function (data) { console.log(data); } })
$.ajax({ type: 'Get', url: 'http://localhost:64133/api/ByGet?name=张三&pwd=123', success: function (data) { console.log(data); } })
后台:实体类传参
public string Get([FromUri] Login login) { return $"{login.Name}-{login.Pwd}"; }
前台:
$.ajax({ type: 'Get', url: 'http://localhost:64133/api/ByGet', data: { "Name": "张三22", "Pwd": "123" }, success: function (data) { console.log(data); } })
2.Post
后台:实体类传参
public string Post(Login login) { return $"{login.Name}-{login.Pwd}"; }
前台:
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: { "Name": "张三", "Pwd": "123" }, success: function (data) { console.log(data); } })
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: JSON.stringify({ Name: "张三", Pwd: "123" }), contentType: 'application/json', success: function (data) { console.log(data); } })
后台:动态类型dynamic 传参
public string Post(dynamic login) { return $"{login.Name}-{login.Pwd}"; }
前台:
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: JSON.stringify({ Name: "张三", Pwd: "123" }), contentType: 'application/json', success: function (data) { console.log(data); } })
后台:JObject 类型传参
-
引入NewtonsoftJson包
-
添加引用
using Newtonsoft.Json.Linq;
-
后台处理Post请求代码
public string Post(JObject login) { return $"{login["Name"]}-{login["Pwd"]}"; }
前台:
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: JSON.stringify({ Name: "张三3", Pwd: "123" }), contentType: 'application/json', success: function (data) { console.log(data); } })
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: { Name: "张三3", Pwd: "123" }, success: function (data) { console.log(data); } })
后台:单值参数(字符串参数)
public string Post4([FromBody] string student) { return $"{student}"; }
前台:
$.ajax({ type: 'Post', url: 'http://localhost:64133/api/ByPost', data: '"Pwd=123,Name=张三"',//这里是重点!用单引号包一个双引号,双引号里为字符串内容! contentType: "application/json", success: function (data) { console.log(data); } })
Asp.Net Core
1.Get
后台:
[HttpGet("Get1")] //普通类型传参 public string Get1(int Id,string Name) { return $"{Id}-{Name}"; }
[HttpGet("Get2")] //json字符串传参或者实体类传参 public string Get2(string stu) { Student student = Newtonsoft.Json.JsonConvert.DeserializeObject<Student>(stu); return $"{student.Id}-{student.Name}"; }
前台:
//路径里面参数,后台Get1(int Id,string Name) $.ajax({ url: 'https://localhost:44304/api/Get/get1?Id=1&Name=张三', type: 'get', success: function (data) { console.log(data); }, error: function (err) { console.log(err); } })
//路径里面参数,后台Get1(int Id,string Name) $.ajax({ url: 'https://localhost:44304/api/Get/get1', type: 'get', data: { Id: 1, Name: "张三" }, success: function (data) { console.log(data); }, error: function (err) { console.log(err); } })
//路径里面参数,后台Get2(string stu) Student student = Newtonsoft.Json.JsonConvert.DeserializeObject<Student>(stu); $.ajax({ url: 'https://localhost:44304/api/Get/get2', data: { stu: JSON.stringify({ Id: 1, Name: "张三" }) }, type: 'get', success: function (data) { console.log(data); }, error: function (err) { console.log(err); } })
2.Post
后台:
[HttpPost("Post1")]//实体类 public string Post1(Student student) { return $"{student.Id}-{student.Name}"; } [HttpPost("Post2")]//dynamic动态类型 public string Post2(dynamic stu) { dynamic student = JsonConvert.DeserializeObject(Convert.ToString(stu)); return $"{student.Id}-{student.Name}"; } 引入Microsoft.AspNetCore.Mvc.NewtonsoftJson包 添加引用 using Newtonsoft.Json.Linq; 3.0以后需要为Controllers添加NewtonsoftJson注册(services.AddControllers().AddNewtonsoftJson();) [HttpPost("Post3")]//JObject参数 public string Post3(JObject student) { return $"{student["Id"]}-{student["Name"]}"; } [HttpPost("Post4")]//单值参数(字符串参数) public string Post4([FromBody] string student) { return $"{student}"; }
前台:
//Post1(Student student) $.ajax({ url: 'https://localhost:44304/api/Post/post1', type: 'post', data: JSON.stringify({ "Id": 1, "Name": "张三" }),//必须这样子 contentType: 'application/json',//必须要有contentType success: function (data) { console.log(data); }, error: function (err) { console.log(err); } }) //Post2(dynamic student) $.ajax({ url: "/api/Post/post2", type: 'POST', data: JSON.stringify({ "Id": 1, "Name": "张三" }), //dataType: "json", contentType: "application/json", success: function (data) { console.log(data); }, error: function (err) { console.log(err); } }); //Post3(JObject student) $.ajax({ url: "/api/Post/post3", type: 'POST', data: JSON.stringify({ "Id": 1, "Name": "张三" }), contentType: "application/json", success: function (data) { console.log(data); }, error: function (err) { console.log(err); } }); //Post4(string student) $.ajax({ url: "/api/Post/post4", type: 'POST', data: '"Id=1,Name=张三"',//这里是重点!用单引号包一个双引号,双引号里为字符串内容! contentType: "application/json", success: function (data) { console.log(data); }, error: function (err) { console.log(err); }, });