zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    文件过滤驱动隐藏目标文件
    POJ 3345 Bribing FIPA(树形DP)
    POJ 1018 Communication System(分组背包DP)
    无用的,ring0暴力枚举进程模块
    HDOJ 3496 Watch The Movie(基本二维背包)
    栈回溯法的一个例子
    代码这样写奇丑无比...编码前期要做好规划工作啊
    多核发dpc安全inline hook
    纵我不往,知识不来学习Java第一周心得
    对“TD信息树”的使用体验
  • 原文地址:https://www.cnblogs.com/zhang888/p/3606965.html
Copyright © 2011-2022 走看看