无法从表单返回undefined获取值[AngularJs]

时间:2016-12-20 03:25:42

标签: asp.net angularjs rest post wcf-rest

我无法从html中的输入字段获取值。

这是我的HTML:

<div class="form-group">
  <label class="control-label col-sm-2" for="subject">Subject:</label>
  <div class="col-sm-10">
    <input class="form-control" id="idsubject" ng-model="subject" placeholder="Enter Subject">
  </div>
</div>
<div class="form-group">
  <label class="control-label col-sm-2" for="body">Body:</label>
  <div class="col-sm-10">
    <input class="form-control" id="idbody" ng-model="body" placeholder="Enter Body">
  </div>
</div>

然后这是我的控制器插入:

// insert data
$scope.InsertData = function() {
  var insert = {
    subject: $scope.subject,
    body: $scope.body
  }
  var promiseGet = GetAllEntryService.InsertData(insert);
  GetAllEntry();
  ClearModels();
  promiseGet.then(function(pl) {
      $scope.InsertData = pl.data
    },
    function(errorPl) {
      console.log('Some Error in Getting Records.', errorPl);
    });
}

但是这个返回值的帖子就像http://localhost:51458/ServiceRequest.svc/InsertData?subject=undefined&body=undefined

一样

我不知道为什么输入字段没有得到值。

这是我的服务插页:

this.InsertData = function (ticket, request, category, subCategory, subject, body, assignto, status, fileName, fileContent, fileBinary, isActive, createdBy, aCNo) {
    return $http.post("http://localhost:51458/ServiceRequest.svc/InsertData?"&subject=" + subject + "&body=" + body);
};

这是来自inspect element开发者网络的图片输出

请帮助我在我的代码中缺少的内容

enter image description here

1 个答案:

答案 0 :(得分:1)

我可以看到一些问题,首先是将InsertData设置为函数,然后将其设置为数据。

然后你的服务需要单独的参数,但你已经将一个对象传递给它:

this.InsertData = function (ticket, request, category, subCategory, subject, body, ...)

你的用法:

var insert = {
  subject: $scope.subject,
  body: $scope.body
}
var promiseGet = GetAllEntryService.InsertData(insert);

虽然你应该像这样使用它:

var promiseGet = GetAllEntryService.InsertData(/*ticket goes here*/, ... , $scope.subject, $scope.body, ...);