2016-12-20 1 views
0

Я не могу получить значение из поля ввода в html.Невозможно получить значение из формы return undefined [AngularJs]

Это мой 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); 
}; 

этот вывод изображения с инспектировать сетевой разработчик элемент

Пожалуйста, помогите мне, что я пропускаю в моем коде

enter image description here

+0

В контрольном коде попытайтесь удалить запятую после '$ scope.body'. –

+0

Я попробовал. Он все еще не работает, имеет ту же ошибку, что и @ShaohaoLin – Stfvns

ответ

1

Я вижу пару проблем: сначала вы устанавливаете функцию InsertData как функцию, а затем устанавливаете ее на данные.

Тогда у вас есть служба, которая принимает отдельные Params но вы передать объект к нему:

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, ...); 
+0

Oke спасибо. это правильно работает! @YaserAdelMehraban – Stfvns

Смежные вопросы