У меня простой API https://hoply-hoply.c9users.io/api/public/categories.
И ниже мой тест
Угловой код Без заголовок хорошо работать (http://codepen.io/phanvanlinh94vn/pen/pEmAPZ)
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get("https://hoply-hoply.c9users.io/api/public/categories")
.then(
function(response) {
console.log("success"); console.log(response);
},
function (error) {
console.log("error"); console.log(error);
});
});
Угловой код С ошибка возврата заголовка 405 (http://codepen.io/phanvanlinh94vn/pen/JRbvZd)
var app = angular.module('myApp', []);
var config = {headers: {
'Authorization': 'Bearer d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==',
'Accept': 'application/json;odata=verbose',
"X-Testing" : "testing"}};
app.controller('myCtrl', function($scope, $http) {
$http.get("http://hoply-hoply.c9users.io/test_category.php", config)
.then(
function(response) {
console.log("success"); console.log(response);
},
function (error) {
console.log("error"); console.log(error);
});
});
Вот мой PHP (с Slim
framework) код для дескриптора возврата ошибки 405
$container['notAllowedHandler'] = function ($c) {
return function ($request, $response, $methods) use ($c) {
return $c['response']
->withStatus(405)
->withHeader('Allow', implode(', ', $methods))
->withHeader('Content-type', 'text/html')
->write('Method must be one of: ' . implode(', ', $methods));
};
};
Проблема сейчас в том, когда я Удалить блочный код PHP для обработки 405. Оба запроса API (без заголовка и с заголовком) будут работать нормально.
Я не знаю, почему это произошло. Я все еще хочу обработать ошибку 405.
Как я могу исправить мою проблему?
Любая помощь или предложение будет с благодарностью.
Задача ещё не решена.
Других решений пока нет …