web api post注意事项

 

 

黄色笑话javascript

近期一个项目须要使用到web apihtml

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

可是对于post请求情况百出。jquery

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

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

 

 1. 多个参数须要post过去json

  ajax代码c#

       以下api

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

相关文章
相关标签/搜索