【发布时间】:2014-08-26 18:11:28
【问题描述】:
我有这个 ASP.NET Web API 方法:
[HttpGet]
public bool IsCodeValid(string code)
{
return db.Usagers.Any(u => u.CodeAcces == code);
}
我从 Angularjs 的 $http.get 方法调用这个 Web API 方法:
return $http.get("/lewis/production/clockin/iscodevalid?code=" + code);
这是结果:
[object Object]{config: Object {...}, data: "false", status: 200, statusText: "OK"}
查看 data 属性,它是“false”(作为 字符串)。
我希望它是一个原始布尔值,所以,回到我的 javascript 客户端代码,我可以这样做
if (result.data) {
// do something if the result is true ...
}
因为现在,我不得不做这件丑事:
if (result.data == "true") {
}
我从我的自定义“userService”服务中得到结果:
userService.isCodeValid($scope.code).then(function (result)
{
console.log(result);
});
这是我的 userService 中 isCodeValid 方法的代码:
angular.module('clockin').service('userService', ['$http',
function ($http) {
this.isCodeValid = function (code) {
return $http.get("/lewis/production/clockin/iscodevalid?code=" + code);
};
}
]);
知道我错过了什么吗?
【问题讨论】:
-
您希望它以布尔值的形式返回,还是使其成为一个布尔值?
-
这与 JSON 解析有关,将
data的类型定义为bool,解析应该返回一个布尔值,而不是字符串。 -
@YuvalItzchakov 我希望我的 javascript 代码将该值视为布尔值。
-
@Habib :该对象由 Angular 的 $http.Get 方法构建。我对此无能为力。可以举个例子吗?
-
@JoanLeaven,你是如何获取/解析 JSON 字符串到你的对象
result的?
标签: c# json angularjs asp.net-web-api boolean