zoukankan      html  css  js  c++  java
  • WebApi后端的List前端如何发送?

    WebApi作为RESTful的风格已经广为流行,在后端有时我们需要传入List<String>类型的参数,那这时前端要如何发送数据呢?按以往ajax的经验,我们可能会选择post的方式,以formdata或者json数据来提效,比如

    $.post(url,{'list':data},function(success){...})
    或者
    $.ajax(type:"post",data:{"list":data},success:function(success){...})
    或者
    var formData=new FormData();
    formData.append("list",data);
    $.ajax(type:"post",data:formData,success:function(success){...})

    但是以上的三种方式,在后端都无法有效的收到数据。后端的WebApi函数如下

    [HttpPost]
    public HttpResponseMessage Send([FromBody]List<String> list)
    {
      if(list==null||list.count<=0)
     {
    	//....
     }
    else
    {
    //....
    }
    }
    后端收到的list都是0个,为什么呢?

    原因在于,这里收的是Request Payload形式的json数据,所以只要我们在ajax的时候指定合适的content-type即可。新的代码如下

     $.ajax({
                        type: 'POST',
                        url: "/Api/Conversation/CancelRegister",                    
                        contentType: 'application/json; charset=utf-8',//将json数据以request payload的形式发起请求
                        data: JSON.stringify(chatIdList),
                        success: function (response) {}
    });
    这时后端即可收到数据了。

    转载请注明出处。


  • 相关阅读:
    VMware rhel 7 网卡绑定
    VMware 克隆虚拟机后网卡无法启动
    rhel7 批量新建和删除用户
    2019.3.27 Linux 学习
    20180313前端笔试
    javascript中的一些问题
    flex布局学习笔记(阮一峰flex布局教程)
    个推面试总结
    笔试题目整理
    @JsonFormat与@DateTimeFormat注解的使用
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604928.html
Copyright © 2011-2022 走看看