AngularJS: $http.get 405(方法不允许)

AngularJS: $http.get 405 (Method Not Allowed)

当我收到来自 url 的请求时,像这样:


    $http({
        method: 'GET',
        url:'http://mooc-lms.dev.web.nd/v0.3/users/login'
    }).success(function(data, status, headers, config) {
        //code
    });

但我得到的错误是:


    GET http://mooc-lms.dev.web.nd/v0.3/users/login 405 (Method Not Allowed)

但是,如果我将方法从 "GET" 更改为 "POST",错误是:


    POST http://mooc-lms.dev.web.nd/v0.3/users/login 415 (Unsupported Media Type)

有什么问题吗?url(http://mooc-lms.dev.web.nd/v0.3/users/login)有问题吗?我在 url.

中找到“"message":"Request method 'GET' not supported"”

GET 不工作的原因是服务器不支持登录端点 GET,这并不奇怪。在 POST 请求上获得 HTTP 415 响应的最常见原因是因为服务器要求您在请求中指定 Content-Type and/or Accept header.

我在下面的示例中将它们设置为 application/json,这很常见,但并非无处不在,因此您必须检查服务器需要什么,以及它将返回给您什么。鉴于该地址包含 "mooc-lms",我假设您正在学习某种在线课程。它应该给你那个信息。该文档还应该告诉您需要将哪些数据与数据 属性.

一起发送
$http({
    method: 'POST',
    url: 'http://mooc-lms.dev.web.nd/v0.3/users/login',
    headers: {
        'Content-Type': 'application/json', /*or whatever type is relevant */
        'Accept': 'application/json' /* ditto */
    },
    data: {
        /* You probably need to send some data if you plan to log in */
    }
})