无法加载资源:服务器的响应状态为405(不允许使用方法)angularjs

时间:2018-08-31 10:03:35

标签: angularjs

我的配置:

.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/ajax/create', {
        templateUrl: 'view/pagination/pagination.html',
        controller: 'AjaxCtrl'
    });

    $routeProvider.when('/ajax/update/:id', {
        templateUrl: 'view/pagination/pagination.html',
        controller: 'AjaxCtrl'
    });

    $routeProvider.when('/ajax/delete/:id', {
        templateUrl: 'view/pagination/pagination.html',
        controller: 'AjaxCtrl'
    });

}])

我的代码流程:

        $scope.doEdit = function(item) {
            var notice = "Item #" + item.id + " has been edited with amount: " + item.amount;

            $http.put('/ajax/update/' + item.id).then(function(data) {
                alert(notice);
            });
        }

我正在尝试删除所有方法,
他们都没有方法的错误,尽管它仍然可以工作

控制台错误

enter image description here

2 个答案:

答案 0 :(得分:0)

a 405 Method Not Allowed表示用户代理(大多数情况下是Web浏览器)已使用无效的HTTP方法请求了有效的资源。这可能会在几种不同的情况下发生:

  • 用户代理意外发送了不正确的HTTP方法。
  • 服务器只希望少数有效的HTTP方法可用于 请求的资源。

因此,请调查您的服务器API支持的HTTP方法。

答案 1 :(得分:0)

添加此 nginx.conf

    add_header Allow "GET, POST, HEAD, PUT" always;

    if ( $request_method !~ ^(GET|POST|HEAD|PUT)$ ) {
        return 405;
    }