#angularjs
#angularjs
Вопрос:
Это базовое веб-приложение angular с представлением html и модельным классом контроллера angular
Мой файл сценария angular controller содержит
var taskResource = $resource("http://localhost:3000/api/tasks/:id", { id: '@id' });
$scope.tasks = taskResource.query();
noError = function() {
$scope.error = "";
}
onFailure = function () {
$scope.error = "Error communicating with server";
}
$scope.changeTaskDone = function (task) {
$scope.tasks.$save(task, noError, onFailure);
};
Мой html содержит
<tr ng-class="{'task-done': task.done}" ng-repeat="task in tasks | orderBy: '-priority'">
<td class="small-cell">
<button type="button" class="btn btn-xs btn-danger" ng-click="deleteTask(task)">
<span class="glyphicon glyphicon-remove"></span>
</button>
</td>
<td class="small-cell">
<input type="checkbox" ng-model="task.done" ng-change="changeTaskDone(task)" />
</td>
Обратные вызовы noError и OnFailure не вызываются.
РЕДАКТИРОВАТЬ localhost — это разработанный мной сервер узлов. Что я должен отправить с сервера узла, чтобы успешный обратный вызов был активирован на стороне клиента. Теперь он отправляет только res.status (200);
Комментарии:
1. Методы не найдены или не вызываются? Вы получаете какое-либо сообщение об ошибке?
2. Методы не вызываются. Я использую Visual studio. Поставил точку отладки на onError и OnFailure, и они не попали
3. когда я останавливаю сервер localhost, вызывается OnFailure. Итак, обратный вызов с ошибкой работает. Но ошибка успешного обратного вызова отсутствует.
Ответ №1:
Вам нужно вызвать ссылку, созданную с помощью $resource, например:
$scope.changeTaskDone = function (task) {
taskResource.save(task, noError, onFailure);
};
Комментарии:
1. taskResource.save(task, noError, OnFailure); обратный вызов onerror OnFailure работает при отключении локального хоста. но обратный вызов с успехом выполняется не при запуске localhost.
2. Можете ли вы привести пример?
3. ошибка была не на стороне клиента, а на стороне сервера. Я также программировал в node и express на стороне клиента
Ответ №2:
На узловом сервере я не использовал res.send() вместе с res.status(200);