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) {}
    });
    这时后端即可收到数据了。

    转载请注明出处。


  • 相关阅读:
    常见hash算法的原理
    【学习干货】给coder的10个读书建议
    htc one x刷机记录
    Linux 搭建SVN server
    javascript
    USACO comehome Dijkstra
    当设计师、产品经理和程序员去交友站点找女朋友
    Spring3.0 AOP 具体解释
    慕课网Hibernate初探之一对多映射实验及总结
    C++数组引用
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604928.html
Copyright © 2011-2022 走看看