Не могу получить Post $ http сервис angularjs

Кто-нибудь может мне помочь. Моя служба :( Название службы: reviewService)

this.addFeedback = function (param) {
    return httpService.post('my api', param);
}

Мой контроллер:

$scope.param= {
    ParentId: null, 
    Comment: ''
};

//Reply Button
$scope.Reply= function () {

};
//Submit Reply button on Popup
$scope.Submit = function () {
    reviewService.addFeedback($scope.param).then(function (response) {
        if (response.data.IsSuccess) {
            $scope.Array = response.data.Value;
        }
    });
};

Моя идея: ** ParentId - это идентификатор комментария (элемента) пользователя. Когда нажимаете кнопку «Ответить», чтобы ответить на комментарий пользователя. Я хочу получить Id щелчка по элементу, установленный в ParentId объекта. А затем покажите всплывающее окно, вставьте ответ и отправьте. Помогите, пожалуйста!

Покажите, пожалуйста, вашу ошибку!

Trần Quốc Vũ 28.09.2018 05:24

у меня нет ошибки. потому что моя функция пуста. $ scope.Answer = function () {}; . Так что мне нужно, чтобы кто-нибудь мог помочь мне написать код в этой функции, как в моей идее.

NoobDev 28.09.2018 05:55

какая у вас всплывающая библиотека? Я думаю, вам нужно получить parentId от контроллера, который вызывает всплывающее окно.

Haegyun Jung 28.09.2018 06:12

Я использую модальное всплывающее окно начальной загрузки

NoobDev 28.09.2018 06:25
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
1
4
54
2

Ответы 2

Вы ввели $ http в свой контроллер / фабрику? Например:

app.controller('myCtrl', function($scope, $http) {
    $http.get("welcome.htm")
    .then(function(response) {
        $scope.myWelcome = response.data;
    });
});

да. прочтите, пожалуйста, мою идею. «** ParentId - это идентификатор пользовательского комментария (элемента) при нажатии кнопки ответа для ответа на комментарий пользователя. Я хочу получить идентификатор нажатия элемента, установленный в ParentId объекта». это то, что мне нужно. пожалуйста помоги . Спасибо

NoobDev 28.09.2018 05:50

Надеюсь, что это поможет вам :)

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, reviewService) {
    $scope.comments = [{ParentId: "1", Comment: "Click me 1"}, {ParentId: "2", Comment: "Click me 2"}];
    $scope.param= {
        ParentId: null, 
        Comment: ''
    };
    
    $scope.addFeedback = function (comment) {
        $scope.param.ParentId = comment.ParentId;
        $scope.param.Comment = comment.Comment;

        //Get the comment Id from UI and pass it into the service
        reviewService.addFeedback($scope.param).then(function (response) {
            if (response.data.IsSuccess) {
                $scope.Array = response.data.Value;
            }
        });
    }
});

app.factory('reviewService', function($http){
 var factory = {
     addFeedback: function (feedback) {
         var promise = new Promise(function(resolve, reject){
             //we will call $http service here
             //return httpService.post('my api', param);
             
             //mockup data
             console.info(feedback);
             setTimeout(function(){
                 resolve(feedback); 
             }, 1000);
             
         });
         
         return promise;
         
     }
 }
 
 return factory;
});
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app = "myApp" ng-controller = "myCtrl">
  <div ng-repeat = "comment in comments" ng-click = "addFeedback(comment)">{{comment.Comment}}</div>
</div>

Спасибо за помощь. Когда я нажимаю на. У меня ошибка с функцией. > это ссылка prntscr.com/kzng63

NoobDev 28.09.2018 06:59

когда я устанавливаю это так, $ scope.param.ParentId = comment.ParentId; $ scope.param.Comment = comment.Comment; одна ошибка типа ParentId undefined. Если такой массив: [{id: "1", комментарий: "Нажми на меня 1"}, {id: "2", комментарий: "Нажми на меня 2"}]; . Как я могу получить идентификатор комментария из пользовательского интерфейса?

NoobDev 28.09.2018 15:51

Другие вопросы по теме