Использование angular.js TypeError: Невозможно прочитать свойство 'UserId' из неопределенного - PullRequest
0 голосов
/ 01 февраля 2019

В моем угловом приложении у меня есть этот CrudService, который содержит службу удаления

app.service('CrudService', function ($http) {
this.delete = function (apiRoute, dataModel) {
    var request = $http({
        method: "delete",
        url: apiRoute
    });
    return request;
}
}) 

, и у меня есть этот пользователь Cntrl

app.controller('userCtrl', ['$scope', 'CrudService',
$scope.DeleteUser = function (dataModel) {
        debugger
        var apiRoute = baseUrl + "users/" + dataModel.UserId;
        var deletedUser = CrudService.delete(apiRoute);

        deletedUser.then(function (response) {
            if (response.data != "") {
                alert("Data Delete Successfully");
                $scope.Clear();
                $scope.GetUsers()

            } else {
                alert("Some error");
            }
        }, function (error) {
            console.log("Error: " + error);
        })
    }
 }]);

В моем html

   <div ng-app="myapp">
   <div ng-controller="userCtrl">
    <div ng-view></div>
    <table class="table table-hover general-table">

        <thead class="grid-top-panel">
            <tr>
                <th style="display:none">StudentID</th>
                <th>Name</th>
                <th>Address</th>
                <th>Age</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="user in users">
                <td>{{user.FName}}</td>
                <td>{{user.Address}}</td>
                <td>{{user.Age}}</td>

                <td style="text-align:right; color:white">
                    <span>
                        <span id="save" class="btn btn-danger margin-right-btn"
                              ng-click="DeleteUser(dataModel)">
                            Delete
                        </span>
                    </span>
                </td>
            </tr>
        </tbody>

    </table>
</div>

, когда я пытаюсь удалить пользователя, он выдает мне ошибку, которая не читает свойство UserId из Undefined, однако у меня есть таблица UserId в моей базе данных.

однако, если я устанавливаю dataModel.UserId равным3 например, он удаляет пользователя с идентификатором 3

любая помощь!?

1 Ответ

0 голосов
/ 01 февраля 2019

Прежде всего, я вижу, что вы строите apiCrud, запрашивающий два параметра, однако вы используете только первый.

this.delete = function (apiRoute, dataModel) {
    var request = $http({
        method: "delete",
        url: apiRoute
    });
    return request;
}

И когда вы вызываете его, вы также не передаете модель данных:

var deletedUser = CrudService.delete(apiRoute);

Где определяется переменная dataModel?Вы уверены, что dataModel собирает данные выбранного пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...