POST 数据 Web API controller

本文介绍了如何使用HTML表单通过GET和POST方法发送数据,并利用AJAX实现客户端与服务端的数据交互。包括了复杂类型对象和简单类型数据的发送方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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);
});

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

 

转载于:https://www.cnblogs.com/liquanchun/archive/2012/12/24/2830790.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值