Javascript 使用AngularJS服务发布多个实体
我想用Angular JS发布2个实体 这是我的AccountController.jsJavascript 使用AngularJS服务发布多个实体,javascript,angularjs,Javascript,Angularjs,我想用Angular JS发布2个实体 这是我的AccountController.js $scope.InsertAccount = function (user,account) { accountsService.InsertAccount(user,account); }; My AccountService.js var InsertAccount = function (user, account) { return $http.po
$scope.InsertAccount = function (user,account) {
accountsService.InsertAccount(user,account);
};
My AccountService.js
var InsertAccount = function (user, account) {
return $http.post("http://localhost:26309/api/Compte/addUserV", {user :user, compte: account})
.then(function () {
$log.info("Insert Successful");
return;
});
};
我可以发布一个参数,但当我尝试放置多个参数时,它不起作用。你是说多个用户、多个帐户吗?通常,由于要创建多个实体,因此需要多篇文章。因此,您可能正在寻找一个助手函数:
$scope.InsertAccounts = function (users, accounts) {
return $q.all(users.map(function (user, n) {
return $scope.InsertAccount(user, accounts[n]);
}));
}
你是说很多用户,很多账户?通常,由于要创建多个实体,因此需要多篇文章。因此,您可能正在寻找一个助手函数:
$scope.InsertAccounts = function (users, accounts) {
return $q.all(users.map(function (user, n) {
return $scope.InsertAccount(user, accounts[n]);
}));
}
应该是你的工作方法。不过我可以试试这个
var InsertAccount = function (user, account) {
var data = {user :user, compte: account}; // assign first and can try JSON.stringify({,,})
return $http.post("http://localhost:26309/api/Compte/addUserV", data)
.then(function (response) {
$log.info("Insert Successful");
return response;
});
};
在服务器端可以试试
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject data)
{
var result = JsonConvert.DeserializeObject<dynamic>(data);
var user = result.user;
var compte = result.compte;
// rest of code
}
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject数据)
{
var result=JsonConvert.DeserializeObject(数据);
var user=result.user;
var compte=result.compte;
//代码的其余部分
}
应该是您的工作方法。不过我可以试试这个
var InsertAccount = function (user, account) {
var data = {user :user, compte: account}; // assign first and can try JSON.stringify({,,})
return $http.post("http://localhost:26309/api/Compte/addUserV", data)
.then(function (response) {
$log.info("Insert Successful");
return response;
});
};
在服务器端可以试试
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject data)
{
var result = JsonConvert.DeserializeObject<dynamic>(data);
var user = result.user;
var compte = result.compte;
// rest of code
}
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject数据)
{
var result=JsonConvert.DeserializeObject(数据);
var user=result.user;
var compte=result.compte;
//代码的其余部分
}
尝试使用JSON.stringify()
,JSON.stringify()
方法将JavaScript值转换为JSON字符串。因此,它将将数组/对象视为单个值。
var InsertAccount = function (user, account) {
//use JSON.stringify
var data = JSON.stringify({user :user, compte: account});
return $http.post("http://localhost:26309/api/Compte/addUserV", data)
.then(function (response) {
$log.info("Insert Successful");
return response;
});
};
尝试使用
JSON.stringify()
,JSON.stringify()
方法将JavaScript值转换为JSON字符串。因此,它将将数组/对象视为单个值。
var InsertAccount = function (user, account) {
//use JSON.stringify
var data = JSON.stringify({user :user, compte: account});
return $http.post("http://localhost:26309/api/Compte/addUserV", data)
.then(function (response) {
$log.info("Insert Successful");
return response;
});
};
当我们在webApi控制器中检索JSonObject时,如何反序列化它?问题似乎出在这段代码中`
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject data)
{
Utilisateur user = data["user"].ToObject<Utilisateur>();
Compte compte = data["compte"].ToObject<Compte>();
try
{
if (!_compteService.CreerUtilisateur(user, compte))
{
throw new Exception("ajout de l'instance de l'utilisateur non effecuté " + compte.designation);
}
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
//response.StatusCode = HttpStatusCode.Created;
// String uri = Url.Link("GetUser", new { id = user.id });
// response.Headers.Location = new Uri(uri);
return response;
}
catch (Exception e)
{
HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
return response;
}
}
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject数据)
{
利用率用户=数据[“用户”].ToObject();
Compte Compte=数据[“Compte”].ToObject();
尝试
{
if(!\u compteService.creeutilisateur(用户,公司))
{
抛出新的异常(“未生效的使用实例”+公司名称);
}
HttpResponseMessage response=Request.CreateResponse(HttpStatusCode.Created);
//response.StatusCode=HttpStatusCode.Created;
//字符串uri=Url.Link(“GetUser”,new{id=user.id});
//response.Headers.Location=新Uri(Uri);
返回响应;
}
捕获(例外e)
{
HttpResponseMessage response=Request.CreateErrorResponse(HttpStatusCode.InternalServerError,e);
返回响应;
}
}
`当我们在webApi控制器中检索JSonObject时,我们如何反序列化它?问题似乎出在这段代码中`
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject data)
{
Utilisateur user = data["user"].ToObject<Utilisateur>();
Compte compte = data["compte"].ToObject<Compte>();
try
{
if (!_compteService.CreerUtilisateur(user, compte))
{
throw new Exception("ajout de l'instance de l'utilisateur non effecuté " + compte.designation);
}
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
//response.StatusCode = HttpStatusCode.Created;
// String uri = Url.Link("GetUser", new { id = user.id });
// response.Headers.Location = new Uri(uri);
return response;
}
catch (Exception e)
{
HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
return response;
}
}
public HttpResponseMessage addUserV(Newtonsoft.Json.Linq.JObject数据)
{
利用率用户=数据[“用户”].ToObject();
Compte Compte=数据[“Compte”].ToObject();
尝试
{
if(!\u compteService.creeutilisateur(用户,公司))
{
抛出新的异常(“未生效的使用实例”+公司名称);
}
HttpResponseMessage response=Request.CreateResponse(HttpStatusCode.Created);
//response.StatusCode=HttpStatusCode.Created;
//字符串uri=Url.Link(“GetUser”,new{id=user.id});
//response.Headers.Location=新Uri(Uri);
返回响应;
}
捕获(例外e)
{
HttpResponseMessage response=Request.CreateErrorResponse(HttpStatusCode.InternalServerError,e);
返回响应;
}
}
`发布单个参数是什么意思?我看不到涉及的任何参数。我的意思是,当我发布一个用户时,它可以工作,但当我尝试使用一个路由发布用户和帐户时,它不会工作。你所说的
发布单个参数是什么意思?我看不到涉及的任何参数。我的意思是,当我发布一个用户时,它可以工作,但当我尝试使用一个路由发布用户和帐户时,它并不意味着有很多用户,我想发布一个用户,他的帐户使用一个路由。您看到了什么错误。这可能是后端问题。你能发布这个路由的后端代码吗?我不是说很多用户,我想发布一个用户,他的帐户使用一个路由。你看到了什么错误。这可能是后端问题。您可以发布此路由的后端代码吗?当我们在webApi控制器中检索JSonObject时,如何反序列化它?问题似乎出在这段代码addUserV(Newtonsoft.Json.Linq.JObject data){usilisateur user=data[“user”].ToObject();Compte Compte=data[“Compte”].ToObject();…}可以使用以前使用的相同过程。服务器端使用了什么技术?可以尝试使用JsonConvert.DeserializeObject
@ikrambkw当我们在webApi控制器中检索JSonObject时,我们如何反序列化它?问题似乎出在这段代码addUserV(Newtonsoft.Json.Linq.JObject data){usilisateur user=data[“user”].ToObject();Compte Compte=data[“Compte”].ToObject();…}可以使用以前使用的相同过程。服务器端使用了什么技术?可以尝试使用JsonConvert.DeserializeObject
@IkramBk