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

    转载请注明出处。


  • 相关阅读:
    利用Python爬取疫情数据并使用可视化工具展示
    接口与多态
    defer 延迟调用
    Spring缓存注解
    SpringAOP
    Mybatis动态SQL语句
    SpringMVC
    Spring Boot入门
    vue中使用JS实现倒计时功能
    springboot使用aop注解在controller层打印请求和响应报文
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604928.html
Copyright © 2011-2022 走看看