I am building in laravel 5.1 using angularJs.
When the user clicks a button, I want to send a destroy request to delete it from the database and then when thats completed send a get request to get the new data now that one has been deleted.
So I attached my method to an ng-click event on a button, this works, it hits the method.
I then run a .destroy request. Inside the .then() method of that .destroy I want to then call another method which has a .get request.
This works perfectly in Safari, but doesn't work in Chrome or Firefox.
Here is my code for the controller, the method that is called on button click to delete is deleteOpportunity():
$scope.getOpportunities = function()
{
UBOService.get()
.then(function successCallback(responsed) {
$scope.opportunities = responsed.data;
}, function errorCallback(response) {
$scope.error = response;
});
}
$scope.deleteOpportunity = function()
{
UBOService.destroy($scope.activeItem.id)
.then(function successCallback(response) {
$scope.getOpportunities();
return false;
}, function errorCallback(response) {
$scope.error = response;
});
}
My service code:
app.service('UBOService', function($http) {
return {
get : function() {
return $http.get('/api/user-booked-opportunities');
},
destroy : function(id) {
return $http.delete('/api/user-booked-opportunities/' + id);
}
}
})
Am I doing something wrong? Is there something I am missing? How does Safari interact differently with this code which makes it work?