• web api post注意事项


    黄色笑话

    近期一个项目需要使用到web api

     在使用过程中,对应get请求方式的使用基本没出什么问题

    但是对于post请求状况百出。

    今将遇到的的问题列出。以作借鉴。

     问题  -----post方式服务器端接收值为null

     1. 多个参数需要post过去

      ajax代码

           如下

    js代码

    function login() {
                        $.ajax({
                            url: "/api/Login",
                            type: "post",
                            dataType: "json",
                            data: { "name": document.getElementById("name").value, "Password": document.getElementById("pwd").value },
                            success: function (data) {
                                isLogin(data)
                                //createDb();
                            }
                        }).fail(
                        function (xhr, textStatus, err) {
                            alert('Error: ' + err);
                        });
    
                    }

    c#代码

      public UsersModel POST(string name, string Password)
            {
                //var a = ModelLogin.user(name.name, name.Password);
              
            }
    

      报错接收不到值

    原因 。 post方式只能接受一个参数而且必须放在

    FromBody 里用FromBody特性标识

    正确代码如下

            public UsersModel POST([FromBody]UsersModel name)
            {
                var a = ModelLogin.user(name.name, name.Password);
                return a;
            }
    

      需要将 

    UsersModel定义为类

    2.需要post list 对象
    这个直接写js正确代码

              $.ajax({
                        url: "/api/Exams",
                        type: "post",
                        dataType: "json",
                        contentType: 'application/json; charset=utf-8',
                        data: JSON.stringify(json),
    
                        success: function (data) {
                            alert(data);
                        }
                    }).fail(
              function (xhr, textStatus, err) {
                  alert('Error: ' + err);
              });
                  
    

      注意事项。

    data数据建议直接写js对象,对应c#建立的对象。

    喜欢拼接方式的key需要留空

    参考资料

    http://stackoverflow.com/questions/14779679/jquery-posts-null-instead-of-json-to-asp-net-web-api

    http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-1#sending_simple_types

  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    期末总结
    第一次作业
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/zhang888/p/3606965.html
Copyright © 2020-2023  润新知