POST一个对象有两个属性(一个数组和一个对象)到webapi? - asp.net webpi

时间:2014-01-21 08:36:52

标签: javascript jquery asp.net-web-api

我有一个包含两个对象的JSON对象

第一个对象是名为customer

的json对象

,第二个是名为dataserives的javascript数组

我一直试图以下列格式将这两个对象发布到webapia,

//this is the webapi method

public CustomerAndDataServices POST(CustomerAndDataServices cd)  
{
    return cd;    
}

我发布的JSON对象就是这个

var customer ={name="clark"};

var dataservices=['email','internet', 'chat'];

var ds={''dataservices}

var data={

    customer:customer

    dataservices:ds

};

//this is how i post t  the webapi

$.ajax({

    url:'/api/myapi'

    data:{cd:dataservices}

});

//问题是,当我发布此内容时,绑定发生在客户对象上,但dataservices数组为空。

我已经看到如何通过使分配给数组的对象的属性为空字符串来将单个数组发送到webapi

suhc as

$.ajax({

url:'/api/myapi'

data:{'':dataservices}

});

这个解决方案运行正常,但是我如何才能发布我的方案,我发布了一个属性为对象和数组的json对象?

感谢

1 个答案:

答案 0 :(得分:0)

试试这个:

 var customer = { name: "clark" };
 var dataservices = ['email', 'internet', 'chat'];

 //convert javascript object to JSON
 var cd = JSON.stringify({ customer: customer, dataservices: dataservices });

 $.ajax({
     url: '/api/myapi/',
     //declare ajax call is an HTTPPost
     method: 'POST',
     data: cd,
     //set data format as JSON
     contentType: 'application/json'
 });