当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jQuery向webApi提交post json数据

jQuery向webApi提交post json数据

2019年03月29日  | 移动技术网IT编程  | 我要评论

在页面想webapi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递;

如下:

//js代码 
          var d = {
          id: "1",
          name: "name",
          value: "oldvalue", 7         };
        $.ajax({
          type: "post",
          url: url1,
          data: json.stringify({
            pconfig: d
          }),
          success:function(d){
          }
        });
public class diff
  {
    public string id { set; get; }
    public string name { set; get; }
    public string value { set; get; }
  }
 public diff post([frombody]diff pconfig)
    {
      list<diffconfig> s = pconfig;
      return s;
    }

像这样的代码是没有问题的;得到的是一个标准结构的数据;

但是如果改为下面的代码,就会发现没有数据

//js代码 
         var d = [{
           id: "1",
           name: "name",
           value: "value",
         },{
           id: "2",
           name: "name2",
           value: "value2",
         }];
         $.ajax({
          type: "post",
          url: url1,
           data: json.stringify({
             pconfig: d
          }),
           success:function(d){
         }
        });
public list<diff> post([frombody]list<diff> diff)
     {
       list<diff> d = diff;
       return d;
     }

这样的代码会发现,数据没有传过来,后面才发现,原来jq的ajax传输数据类型有问题;传输的数据类型contenttype的默认值为 "application/x-www-form-urlencoded"。默认值适合大多数情况。但是却不能适应这次传输的值,把   contenttype: 'application/json' 设置一下,就可以ok了;数据传输完全没有问题;

$.ajax({
      type: "post",
      datatype: 'json',
      url: url,
      contenttype: 'application/json',
      data: json.stringify(d),
      success: function (d) {
       
      }
    });

以上所述是小编给大家介绍的jquery向webapi提交post json数据,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网