我正在使用Angular和Laravel构建API服务,当我向API发送GET请求时一切正常,但当我发送POST请求时,该服务仍然使用GET方法而不是POST。
这是我的服务代码:
我尝试将参数作为字符串传递("a=b&c=d..."),并添加了标头:
在我的应用程序模块实例化的
function LeadsAPI($http,$q,BASE_URL)
{
this.updateLead = function (lead_data) {
var url = BASE_URL+"/leads/update/";
var deferred = $q.defer();
$http.post(url , lead_data).then(function(response){
deferred.resolve(response.data);
});
return deferred.promise;
}
}
我从控制器调用这个函数:
LeadsController.$inject = ['$scope', 'LeadsAPI'];
function LeadsController($scope , LeadsAPI)
{
LeadsAPI.updateLead({'lead_id' : res._id, 'the_lead': {'fist_name' : 'asd asd'}}).then(function (res) {
console.log(res);
});
}
我尝试将参数作为字符串传递("a=b&c=d..."),并添加了标头:
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
在我的应用程序模块实例化的
run
函数中,但我仍然收到405(方法不允许)
错误。有什么想法如何解决它吗?非常感谢! :)