Get
前台代码
<script> $(function () { $.ajax({ type: "get", dataType: "json", contentType: 'application/json', url: "http://localhost:19930/omy360api/HomeAPI/GetToken", data: { "UserName": "wly666", "PassWord": "123456" }, success: function (data, status) { console.log(data); }, error: function (e) { }, complete: function () { } }); }); </script>
/// <summary> /// 生成Token的令牌 /// </summary> /// <param name="us">userinfo</param> /// <returns>Objetc</returns> [HttpGet] public object GetToken([FromUri]UserInfo us)
上图(2)为后台代码 关键在于
[FromUri]特性
Get本来传递参数是以URL字符串拼接而成的
Get类型的方法命名,应尽量采用“Get+方法名”的命名方式,且习惯性地在方法前加上[HttpGet特性]
实参与形参的匹配,遵循路由规则
GET除了可以以这种方式来实现传递实体参数,还可以传递时为字符串格式JSON后台转换。
Post
$.ajax({ type: "Post", url: "/omy360api/HomeAPI/PostToken", data: { "Username": "XXXXX","Password":"123456"} })
[HttpPost] public object PostToken([FromBody]UserInfo us)
基本上这样子就够了接下来该做什么就做什么吧 实体参数这么传递就够啦~
再来说一下API跨域的问题解决方法很多种 我就说最简单的一种就好了
添加NutGet程序包 搜索Cors
添加完毕 找到App_start文件夹下的WebapiConfig 在
Register方法下加一句代码就够了
//跨域配置 config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
跨域问题也轻松解决了 希望大家学到了东西~
不积跬步无以至千里,不计小流无以成江海~