我正在尝试使用 AngularJS 发送带有“POST”方法的表单。我使用 $http 发送它,但它总是返回“Cannot POST”和 404 错误。路线是正确的,只有当我通过 Grunt 执行我的应用程序时才会发生(通过“GET”发送完美)。该应用程序是使用 Yeoman 构建的。
我认为这一定是一个愚蠢的问题,但我无法让它发挥作用。
风景:
<form name="formLogin" ng-submit="login()">
<ul>
<li>
<label for="user">User</label>
<input type="text" id="user" name="user" ng-model="user">
</li>
<li>
<label for="pass">Password</label>
<input type="password" id="pass" name="pass" ng-model="pass">
</li>
</ul>
<input type="submit" value="Send">
控制器:
'use strict';
angular.module('myApp')
.controller('LoginCtrl', function ($scope, $http, $resource) {
$scope.login = function() {
var config = {
url: 'php/login.php',
method: 'POST',
data: {
user: $scope.user,
pass: $scope.pass
}
}; // configuration object
$http(config)
.success(function(data, status, headers, config) {
console.log('success');
if (data.status) {
// succefull login
} else {
// Wrong login
}
})
.error(function(data, status, headers, config) {
console.log('error');
});
};
});
我将 Grunt 用于:
grunt server
为什么会这样?
谢谢!