javascript - angularjs post data to mvc controller in json format with multiple arrays -


i working on project in have used angularjs , mvc.i passing data angular js controller mvc controller $http.post().for using single object/json array retreive data -public bool updateissuedetails(issuebo issue).but want if public public bool updateissuedetails(issuebo issue,list lstmemberstonotify).i want send 2 json arrays ny angular js controller above mvc controller method.

angularjs controller code

 $scope.saveissuedetails = function (issue) {     var milestoneid = "";     var milestonename = "";     if ($scope.selectedissue.milestone== undefined) {         milestoneid = "";         milestonename = "";     } else {         milestoneid = $scope.selectedissue.milestone.id;         milestonename = $scope.selectedissue.milestone.name;     }     var arrmemberstonotify = [];     var arrmemberstonotifynew = [];     var icount = 0;     $("#memberstonotify input[type=checkbox]:checked").each(function () {         arrmemberstonotify = $(this).val().split("~");         arrmemberstonotifynew.push({ "userid": arrmemberstonotify[0], "userdisplayname": arrmemberstonotify[1], "email": arrmemberstonotify[2] });              });      var issuedetails =    {     id: issue.id,     projectid: issue.projectid,     projectname: issue.projectname,     issuestatusid: $scope.selectedissue.status.id,     statusname: $scope.selectedissue.status.name,     issuepriorityid: $scope.selectedissue.priority.id,     priorityname: $scope.selectedissue.priority.name,     assigneduserid: $scope.selectedissue.assignedto.id,     assigneedisplayname: $scope.selectedissue.assignedto.displayname,     issuecategoryid: $scope.selectedissue.category.id,     categoryname: $scope.selectedissue.category.name,     duedate: $scope.selectedissue.duedate,     owneruserid: $scope.selectedissue.ownedby.id,     ownerdisplayname: $scope.selectedissue.ownedby.displayname,     issuetypeid: $scope.selectedissue.type.id,     issuetypename: $scope.selectedissue.type.name,     issueresolutionid: $scope.selectedissue.resolution.id,     resolutionname: $scope.selectedissue.resolution.name,     milestoneid: milestoneid,     milestonename: milestonename,     estimation: $scope.selectedissue.estimation,     progress: $scope.selectedissue.progress,    };     var url = window.location.protocol + '//' + window.location.host + '/api/issues' + '/updateissuedetails/';     $http.post(url, [issuedetails, arrmemberstonotifynew]).success(function (data, status, headers, config) {         if (data != '' || data.length >= 0 || data == true) {             //$scope.selectedissue = issue;             //$scope.showissuedetails($scope.selectedissue);             $scope.getassignedissues();         }         else if (data == '' || data == false) {             $scope.selectedissue = null;         } else {             $scope.errors.push(data.error);         }     }); }; 

mvc controller code

  [httppost]     [authenticationrequired]     public bool updateissuedetails(issuebo issue,list<issuenotification> lstmemberstonotify)     {         try         {             //var issuedetails = jsonconvert.deserializeobject<dictionary<string, dynamic>>(issuealldetails[0].tostring());             //list<dictionary<string, string>> memberstonotifydetails = jsonconvert.deserializeobject<list<dictionary<string, string>>>(issuealldetails[1].tostring());             var memberstonotify = lstmemberstonotify.select(memberstonotifydetail =>                                                                 new issuenotification()                                                                 {                                                                     userid =memberstonotifydetail.userid,                                                                     email =                                                                         memberstonotifydetail.email,                                                                     userdisplayname =                                                                         memberstonotifydetail.userdisplayname                                                                 }).tolist();             var newissue = new issuebo             {                 owneruserid = issue.owneruserid,                 ownerdisplayname = issue.ownerdisplayname,                 lastupdateduserid = sessionitems.userid,                 lastupdaterdisplayname = sessionitems.displayname,                 lastupdatedon = datetime.now,                 projectid = issue.projectid,                 projectname = issue.projectname,                 id = issue.id,                 assigneduserid = issue.assigneduserid,                 assigneedisplayname = issue.assigneedisplayname,                 issuestatusid = issue.issuestatusid,                 statusname = issue.statusname,                 progress = issue.progress,                 issuepriorityid = issue.issuepriorityid,                 priorityname = issue.priorityname,                 issuetypeid = issue.issuetypeid,                 issuetypename = issue.issuetypename,                 issuecategoryid = issue.issuecategoryid,                 categoryname = issue.categoryname,                 issueresolutionid = issue.issueresolutionid,                 resolutionname = issue.resolutionname,                 duedate = issue.duedate,                 estimation = issue.estimation,                 milestoneid = issue.milestoneid,                 milestonename = issue.milestonename             };             var result = bll.adminlayer.updateissuedetail(newissue, memberstonotify);             return result.issuccessful && result.result;         }         catch (exception ex)         {             bll.base.baselayer.writeapplicationlog(ex);             return false;         }     } 

i passing 2 json array angularjs controller this-$http.post(url, [issuedetails, arrmemberstonotifynew]).success(function (data, status, headers, config).but getting error trying this.please suggest how achieve this.thanks

you need pass data action using json.stringify()

$http.post(url, json.stringify({ issue: issuedetails,       lstmemberstonotify: arrmemberstonotifynew  }); 

Comments