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

  • 相关阅读:
    mahout in Action研读(1)-给用户推荐图书
    工作的时候用到spring返回xml view查到此文章亲测可用
    Result Maps、Auto-mapping、cache
    MyBatis构建sql时动态传入表名以及字段名
    How to Write a Spelling Corrector用java 写拼写检查器 Java实现 以备查验
    245. Shortest Word Distance III
    244. Shortest Word Distance II
    243. Shortest Word Distance
    148. Sort List
    23. Merge k Sorted Lists
  • 原文地址:https://www.cnblogs.com/zhang888/p/3606965.html
Copyright © 2011-2022 走看看