【发布时间】:2017-01-12 08:03:55
【问题描述】:
您好,我正在开发 restfull web api 应用程序。将数据插入数据库后,我想返回 0 表示成功,1 表示错误,并将数据作为分配给用户的唯一 ID。我想以 json 格式返回上述数据。我的要求是我必须以 json 格式向控制器发送数据并以 json 格式接收数据。我有以下代码,它正在工作,但我想在这里问几点。 下面是我的 User_Creation 控制器代码。
public result Post(Noor_Users users)
{
result obj = new result();
if (ModelState.IsValid)
{
entityObject.Noor_Users.Add(users);
int result = entityObject.SaveChanges();
if(result==1)
{
obj.success = 0;
obj.id = 5;
return obj;
}
else
{
obj.error = 1;
return obj;
}
}
else
{
obj.error = 1;
return obj;
}
}
}
我的 service.js 文件包含以下代码。
app.service("UserCreation", function ($http) {
this.saveSubscriber = function (sub) {
return $http({
method: 'post',
data: JSON.stringify(sub),
url: 'api/User_Creation',
contentType: "application/json"
});
}
});
这是我的 controller.js 代码。
app.controller('UserCreation', function ($scope, UserCreation) {
$scope.saveSubs = function () {
var sub = {
user_email: $scope.user_email,
user_password: $scope.user_password,
};
var saveSubs = UserCreation.saveSubscriber(sub);
saveSubs.then(function (data) {
alert(JSON.stringify(data.data));
}, function (error) {
console.log('Oops! Something went wrong while saving the data.')
})
};
});
我期待以下 json 格式的响应。
● status - 0 表示成功,1 表示失败。 ● 数据 ○ id - 分配给用户的唯一 ID ● error - 失败时的错误消息
这工作绝对没问题。我在 webapiconfig.cs 文件中有以下代码行
config.Formatters.JsonFormatter.SupportedMediaTypes
.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/html"));
通过这行代码,我总是可以接收 json 格式的数据。但是在 angularjs 成功调用中,我需要对收到的数据进行字符串化。如果我所有的数据都以 json 格式返回,那么为什么我应该将其转换为 json?也有人可以告诉我上面的逻辑是返回数据的好习惯吗?谢谢你。
【问题讨论】:
标签: angularjs json asp.net-web-api2