Javascript 使用AngularJS服务发布多个实体

Javascript 使用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

我想用Angular JS发布2个实体

这是我的AccountController.js

 $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