Javascript API请求不断返回无效的HTTP状态代码405,但命令行工作

Javascript API请求不断返回无效的HTTP状态代码405,但命令行工作,javascript,angularjs,Javascript,Angularjs,我有一个非常基本的身份验证系统。但是,我正在从另一个应用程序请求登录数据。我的angular应用程序在3030上运行,我的身份验证应用程序在3000上运行 为了测试它是否能提前工作,我从命令行请求它 $ http post http://localhost:3000/api/v1/login user="email@email.org" password="password" { "data": { "authToken": "xxxx", "userId": "useri

我有一个非常基本的身份验证系统。但是,我正在从另一个应用程序请求登录数据。我的angular应用程序在
3030
上运行,我的身份验证应用程序在
3000
上运行

为了测试它是否能提前工作,我从命令行请求它

$ http post http://localhost:3000/api/v1/login user="email@email.org" password="password"

{
  "data": {
    "authToken": "xxxx",
    "userId": "userid"
  },
  "status": "success"
}
在我的应用程序运行在端口
3030
,我有一个非常简单的身份验证系统

angular.module('Auth')
  .controller('LoginController', ['$scope', '$http',
    function ($scope, $http) {
      // same as the data from the above request
      $scope.credentials = {
        user: '',
        password: ''
      };

      $scope.authenticate = function () {
        $http.post('http://localhost:3000/api/v1/login', $scope.credentials)
          .success(function (data, status, headers, config) {
            console.log(data);
          })
          .error(function (data, status, headers, config) {
            console.log(data);
          })
      }
    }
  ]);
(以下是简化视图,以备回答)


然而,这在控制台中不断给我错误

无法加载XMLHttpRequest。无效的HTTP状态代码405


为什么这在命令行上有效,但在应用程序中不起作用?

如果您在windows上,可以使用Fiddler查看http请求。。。然后,您可以看到是否真的存在差异。HTTP 405表示“不允许使用方法”。您确定您的API允许使用您正在使用的HTTP方法(本例中为POST)吗?如果您在Windows上,请使用Fiddler了解您的请求/响应的实际情况。这也是我的想法,但我确实从命令行测试了发布,效果非常好。查看资源检查器时,请求类型似乎是
OPTIONS
。。。我猜这是一个CORS的东西如果你在windows上,你可以使用Fiddler来观看http请求。。。然后,您可以看到是否真的存在差异。HTTP 405表示“不允许使用方法”。您确定您的API允许使用您正在使用的HTTP方法(本例中为POST)吗?如果您在Windows上,请使用Fiddler了解您的请求/响应的实际情况。这也是我的想法,但我确实从命令行测试了发布,效果非常好。查看资源检查器时,请求类型似乎是
OPTIONS
。。。我猜是CORS的事
<form name="login" ng-submit="authenticate()">
  <input name="user" type="email" ng-model="credentials.user" />
  <input name="password" type="password" ng-model="credentials.password" />
</form>