zoukankan      html  css  js  c++  java
  • POST 数据 Web API controller

      HTML表单或者使用GET或POST发送数据到服务器。表单method属性给出了HTTP方法定义:

    <form action="api/values"method="post">

    默认的方法是GET。如果表单使用GET,表单数据被编码在URI作为查询字符串。如果表单使用POST,表单数据放置在请求主体。

    1. 复杂类型
      
    通常情况下,如果使用POST发送数据到 ApiController时,在ApiController中接受参数为对象,比如

    public HttpResponseMessage PostSysLog(SysLog syslog)

    那么在客户端有一个表单form,客户端发生数据用ajax方式就是:

       $("#form1").submit(function () {
            var jqxhr = $.post('api/SysLog', $('#form1').serialize())
                .success(function () {
                    var loc = jqxhr.getResponseHeader('Location');
                    var a = $('<a/>', { href: loc, text: loc });
                    $('#message').html(a);
                })
                .error(function () {
                    $('#message').html("Error posting the update.");
                });
            return false;
        });
    
    

    2. 简单类型

    如果仅仅想发送一个简单类型的数据(在服务端没有对象),比如大字符串,怎么做呢?

    
    
    public string Post([FromBody]string value)
    {
      return value;
    }
    
    

    在客户端调用方法:

    $.post("api/values/", {"" : "20"}, function (data) {
      alert(data);
    });

    也可以发送一个数组

    public string Post([FromBody]string[] value)
    {
         return value[0];
    }

    在客户端调用方法:

    $.post("api/values/", {"" : ["10","20","30"]}, function (data) {
      alert(data);
    });

    在有些情况下很有用,比如批量上传数据的时候,可以一次发送,在服务端解析数据。

     

  • 相关阅读:
    [MacOS]Sublime text3 安装(一)
    [RHEL8]开启BBR
    PAT Advanced 1136 A Delayed Palindrome (20分)
    PAT Advanced 1144 The Missing Number (20分)
    PAT Advanced 1041 Be Unique (20分)
    PAT Advanced 1025 PAT Ranking (25分)
    PAT Advanced 1022 Digital Library (30分)
    PAT Advanced 1019 General Palindromic Number (20分)
    PAT Advanced 1011 World Cup Betting (20分)
    PAT Advanced 1102 Invert a Binary Tree (25分)
  • 原文地址:https://www.cnblogs.com/liquanchun/p/2830790.html
Copyright © 2011-2022 走看看