Я работаю над проектом Laravel5.1. При работе с localhost с помощью xampp http.delete
отлично работает, но после размещения проекта на удаленном сервере эта опция удаления не работает, хотя другие свойства работают нормально. вот часть кода
$scope.removeSaleTemp = function(id) {
$http.delete('api/saletemp/' + id).
success(function(data, status, headers, config) {
$http.get('api/saletemp').success(function(data) {
$scope.saletemp = data;
});
});
}
"api/saletemp/" отправляется в SalesTempApiController
public function destroy($id)
{
SaleTemp::destroy($id);
}
просмотр части:
<tr ng-repeat="newsaletemp in saletemp">
<td>@{{newsaletemp.item_id}}</td><td>@{{newsaletemp.item.item_name}}</td><td>@{{newsaletemp.item.selling_price | currency}}</td><td><input type="text" style="text-align:center" autocomplete="off" name="quantity" ng-change="updateSaleTemp(newsaletemp)" ng-model="newsaletemp.quantity" size="2"></td><td>@{{newsaletemp.item.selling_price * newsaletemp.quantity | currency}}</td><td><button class="btn btn-danger btn-xs" type="button" ng-click="removeSaleTemp(newsaletemp.id)"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></button></td>
</tr>
Обратите внимание, что этот код отлично работает на localhost (xampp), но не работает после развертывания на сервере.
Google много и найти решение. Только мне нужно было добавить следующие разрешения в файле.htaccess в корневом каталоге
<Limit GET POST PUT DELETE HEAD OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST PUT DELETE HEAD OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
Возможно, вы вызываете неправильный URL. Я думаю, вы пытаетесь позвонить по адресу www.example.com/api/saletemp/1. Вместо этого вы вызываете URL-адрес www.example.com/something/api/saletemp/1. Чтобы убедиться, что вы используете правильный URL, поставьте $http.delete('/api/saletemp/' + id)
.
Может быть, это поможет.