Я фактически работаю над веб-клиентом, вызывающим службу REST. После моего последнего вопроса, запрос GET теперь работает. Теперь я хочу o реализовать запрос DEL с использованием метода удаления углов. В следующем примере реализован мой запрос на обслуживание.
function ItemsService($http) {
this.$http = $http;
}
ItemsService.prototype = {
deleteFoo: function (id) {
this.$http.delete('http://localhost:3001/posts/' + id)
.then(function successCallback(response) {
console.log("DEL send...");
console.log(response.data);
}, function errorCallback(response) {
console.log('Error');
});
}
}
module.exports = {
ItemsService: ItemsService
}
Я добавил кнопку на веб-странице с ng-click="$ctrl.deleteMe()"
. Контроллер выглядит как в следующем примере:
function Foo(ItemsService) {
this.itemsService = ItemsService;
}
Foo.prototype = {
deleteMe: function() {
console.log('delete now');
this.itemsService.deleteFoo(1).then(
response => {
console.log('gelöscht? ' + response);
}
);
}
};
Если я теперь нажать на кнопку, ничего не происходит. В журнале трассировки сети в инструментах dev в браузере я не вижу запроса DEL. Чтобы проверить этот запрос службы REST, я запустил инструмент JSON Server на порт 3001. Я проверяю доступность сервера с SOAPUI, он работает, я вижу все запросы в консоли. Но без запроса с моей тестовой веб-страницы.
Может ли кто-нибудь мне помочь?
Same Origin Policy? Работает ли Javascript на порту: 3001? –
'delete' - зарезервированное ключевое слово в js. Я не думаю, что вам нужно назначить целый новый «прототип», но вместо этого нужно «Foo.prototype.deleteMe = function..' – devqon
@devqon в любом случае, ng [использует его] (https: //docs.angularjs. орг/API/нг/сервис/$ HTTP # удалить). Но вы можете быть правы, что его нужно изменить в прототипе. –