$http.post(main+'/api/getcard/', $.param({number: $scope.searchcard}), {headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} })
.then(function (response) {
if(response.data != 0)
{
$location.path('/redeem/'+response.data.id);
console.log(response.data);
}
});
当我使用此代码时,我的chrome发送:
Request URL:http://cards.mporeda.pl/branch/api/getcard
Request Method:GET
Status Code:405 Method Not Allowed
但是当我在laravel服务localhost:8000上使用相同的代码时,我得到:
Request URL:http://localhost:8000/branch/api/getcard/
Request Method:POST
Status Code:200 OK
我在请求中只有这个标头选项不再有$ http配置。在此请求之前我在控制台上没有错误,所以我问我的代码是否正常。我的服务器有什么问题吗?
答案 0 :(得分:7)
您的代码提出请求的网址是:
main+'/api/getcard/'
您的请求所使用的网址是:
Request URL:http://cards.mporeda.pl/branch/api/getcard
这很可能是由以下原因造成的:
Location
标头重定向到同一网址,但最后没有/
如果您查看请求列表,则应该看到POST请求。
要解决此问题,您需要查看发出重定向的服务器端代码。