如何从 angular post 对象到 webapi 控制器
how to post objects from angular to a webapi controller
我正在使用 pdfsharp 创建 pdf。我需要将图表图例数据(名称、颜色)传递给 pdfsharp 控制器。我正在使用 angular $http post,ajax post 也可以。我得到的错误是
Request URL:http://localhost:46691/api/exportChartPdf/[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object]
我需要知道如何将它作为字符串传递吗?如果是这样,我将如何在 api 控制器中将其解析回我需要的方式?
我要传回的对象
0: Object
color: "rgb(67,134,215)"
name: "Fleming Place - Miscellaneous Spec Builders"
__proto__: Object
1: Object
2: Object
3: Object
4: Object
javascript
var legendModel = $scope.seriesData.map(function (a) {
return {
color: a.color,
name: a.name
};
});
$http.post('/api/exportChartPdf/' + legendModel);
api 控制器
[HttpPost]
public PDF Post() // allow nullable parameter
{
try
{
看起来您的控制器操作缺少参数,
[HttpPost]
public PDF Post(SomeClass legendModel) // allow nullable parameter
{
try
{
SomeClass 将包含 color
& name
属性。
然后你应该更正你的 $http.post
调用,将第二个参数作为 JSON 格式的数据传递。
$http.post('/api/exportChartPdf', { legendModel: legendModel);
您应该 post 将对象放在表单主体上,而不是查询字符串上。此外,您的 Web API 控制器应该接收到一个强类型对象,它反映了您正在传递的数据。
public class Data
{
public string Color { get; set; }
public string Name { get; set; }
}
[HttpPost]
public PDF Post([FromBody]List<Data> data)
{
...
}
然后只是 post 对象。
var legendModel = $scope.seriesData.map(function (a) {
return {
color: a.color,
name: a.name
};
});
$http.post('/api/exportChartPdf/', legendModel);
我正在使用 pdfsharp 创建 pdf。我需要将图表图例数据(名称、颜色)传递给 pdfsharp 控制器。我正在使用 angular $http post,ajax post 也可以。我得到的错误是
Request URL:http://localhost:46691/api/exportChartPdf/[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object]
我需要知道如何将它作为字符串传递吗?如果是这样,我将如何在 api 控制器中将其解析回我需要的方式?
我要传回的对象
0: Object
color: "rgb(67,134,215)"
name: "Fleming Place - Miscellaneous Spec Builders"
__proto__: Object
1: Object
2: Object
3: Object
4: Object
javascript
var legendModel = $scope.seriesData.map(function (a) {
return {
color: a.color,
name: a.name
};
});
$http.post('/api/exportChartPdf/' + legendModel);
api 控制器
[HttpPost]
public PDF Post() // allow nullable parameter
{
try
{
看起来您的控制器操作缺少参数,
[HttpPost]
public PDF Post(SomeClass legendModel) // allow nullable parameter
{
try
{
SomeClass 将包含 color
& name
属性。
然后你应该更正你的 $http.post
调用,将第二个参数作为 JSON 格式的数据传递。
$http.post('/api/exportChartPdf', { legendModel: legendModel);
您应该 post 将对象放在表单主体上,而不是查询字符串上。此外,您的 Web API 控制器应该接收到一个强类型对象,它反映了您正在传递的数据。
public class Data
{
public string Color { get; set; }
public string Name { get; set; }
}
[HttpPost]
public PDF Post([FromBody]List<Data> data)
{
...
}
然后只是 post 对象。
var legendModel = $scope.seriesData.map(function (a) {
return {
color: a.color,
name: a.name
};
});
$http.post('/api/exportChartPdf/', legendModel);