【问题标题】:angularjs POST 405 method not allowedangularjs POST 405 方法不允许
【发布时间】:2016-05-15 17:34:30
【问题描述】:

我有一个 angularjs 项目,其中包含 github 的 oauth。

我使用satellizer plugin来处理oauth协议。

每次我尝试连接时都会收到此错误:

这是我的路由配置(使用 Babel 的 ES6):

export default function RouteConfig($routeProvider, $locationProvider) {

 $routeProvider
    .when('/', {
        templateUrl: './modules/default/default.html',
        controller: 'DefaultController',
        controllerAs: 'default'
    })
    .when('/auth/:provider',{
        controller: 'OAuthController',
        templateUrl: './modules/auth/auth.html',
    })
    .otherwise({
        redirectTo: '/'
    });
}

我使用 Postman 测试了该应用,所有 GET 请求都可以正常工作,但每个 POST 请求都返回 405。

我使用 live-server 来托管我的 angularJS 应用程序。我读过这个问题可能与服务器有关。我该如何解决?

我也使用 npm 来处理包。

**编辑:**我尝试使用simplehttpserver,这是我得到的:

【问题讨论】:

    标签: angularjs node.js oauth satellizer npm-live-server


    【解决方案1】:

    您似乎在应用程序的某处进行了 http POST 调用。 然后您将此请求发送给

    http://localhost:8080/src/auth/callback
    

    似乎没有服务器在监听——或者至少没有监听 POST 请求。可能您必须在代码中找到 http 请求并检查您的请求是否使用了正确的 url

    【讨论】:

    • 网址很好,我在 routeconfig 中定义了该路径,并且我能够使用 GET 请求获取值,我不明白为什么不允许 POST 请求
    【解决方案2】:

    我终于想通了。 AngularJS 无法处理 POST 请求,这是服务器的责任,我忘了为服务器启动和添加代码。

    对于那些和我有同样问题的人来说,例子在这里:

    https://github.com/sahat/satellizer/tree/master/examples

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 2018-12-20
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 2015-10-07
      相关资源
      最近更新 更多