zoukankan      html  css  js  c++  java
  • WebApi传参总动员(一)

    目前自己的工作和WebApi相关,免不了传入、接收参数。以前的老办法是从请求流中获取json,再反序列化,这中间有2个不能控制的地方,一个是流,一个是反序列化,都需要try,总感觉非常的不爽。因此对WebApi传参做了深入的研(bai)究(du)。

    正常的WebApi有三种接收参数的方式:

    1、以json字符串的形式传入。从请求的输入流获取传入的json字符串,再反序列化成自己需要的实体。利用的是Request.InputStream。

    2、以url传参的形式传入。WebApi自动转换成对应的实体。类似于Form表单的提交,如name=aaa&pwd=bbb&token=xxx,需要请求头的ContentType=“application/x-www-form-urlencoded

    3、以json字符串的形式传入,WebApi自动转换成对应的实体。需要请求头的ContentType="application/json"

    先从最简单的string入手。逐一爬坑。

    Web端

    public class ValuesController : ApiController
        {
            [HttpPost]
            public string GetData(string name)
            {
                return "我爱" + name;
            }
        }

    html端js

                $('#btn').click(function () {
                    $.ajax({
                        type: "post",
                        url: "http://localhost:7601/api/values/GetData",
                        data: "刘亦菲",
                        success: function (r) {
                            alert(r);
                        }
                    });
                });
    

    结果碰到了第一个坑

      

    结论:http://localhost:7601/api/values/GetData 和 http://localhost:7601/api/values/GetData?name=刘亦菲 是两个不同的url

    将上面js中代码修改
                $('#btn').click(function () {
                    $.ajax({
                        type: "post",
                        url: "http://localhost:7601/api/values/GetData?name=刘亦菲",
                        success: function (r) {
                            alert(r);
                        }
                    });
                });
    

    得到了自己想要的结果  

  • 相关阅读:
    MongoDB索引实战技巧
    解决scp/ssh提示输密码慢问题
    mac系统忘记root密码的解决办法
    Javascript DataGrid using the MVC
    便捷的安全检测
    北京出现NW28开头假钞 天津已有相同案例
    12月编程语言排行榜:C#前途无量
    实时股票数据接口大全
    [一定要看完]住在隔壁的刚毕业的大学生小夫妻
    [行業]金山卫士宣布开源 用透明对抗360
  • 原文地址:https://www.cnblogs.com/luhuanong/p/4923871.html
Copyright © 2011-2022 走看看