WebAPI Get||Post 請求下傳遞實體參數以及API跨域問題的解決


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("*", "*", "*"));

 

跨域問題也輕松解決了 希望大家學到了東西~

 

 

 

不積跬步無以至千里,不計小流無以成江海~



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM