Javascript AngularJS 405(不允许使用方法)
使用PHP作为后端的AngularJS项目(slimphp)。我遇到的问题是,我所有的GET请求都能工作,但不能发布 这是我的AngularJS代码:Javascript AngularJS 405(不允许使用方法),javascript,php,angularjs,http,google-app-engine,Javascript,Php,Angularjs,Http,Google App Engine,使用PHP作为后端的AngularJS项目(slimphp)。我遇到的问题是,我所有的GET请求都能工作,但不能发布 这是我的AngularJS代码: function getContainer() { $http.post("/api/favorite") .then(function (response) { console.log(response); })
function getContainer() {
$http.post("/api/favorite")
.then(function (response) {
console.log(response);
})
}
这是我的PHP路由代码:(删除了真正的函数,只是为了测试)
这是我在chrome开发者控制台上的错误:
在服务器日志中,我也可以看到以下内容:(为什么它说GET not POST? INFO 2017-11-27 15:42:45796模块。py:821]api:“获取 /api/favorite HTTP/1.1“405 556
正如您的开发控制台所见证的那样,这个动词似乎是正确的。奇怪的是,服务器记录了一个
GET
。你有没有试过用邮递员点击端点?现在用邮递员就可以了。但不是从客户端使用这个AngularJS代码。嗯?如果邮递员现在能用的话,你可能是因为Angular而受到CORS的影响,还是同一个405
?你找到了吗?@JorgeValle,是的,我找到了。这是谷歌应用引擎dev_appserver.py和Windows环境中的一个bug。将其部署到生产环境中工作正常,我没有收到405错误。我只在本地主机上收到此错误。如果是CORS问题,我会在调试控制台中出错,但我没有。因此,我怀疑windows上带有dev_appserver.py的envoirment bug GAE usesIt似乎动词是正确的,正如您的开发控制台所见证的那样。奇怪的是,服务器记录了一个GET
。你有没有试过用邮递员点击端点?现在用邮递员就可以了。但不是从客户端使用这个AngularJS代码。嗯?如果邮递员现在能用的话,你可能是因为Angular而受到CORS的影响,还是同一个405
?你找到了吗?@JorgeValle,是的,我找到了。这是谷歌应用引擎dev_appserver.py和Windows环境中的一个bug。将其部署到生产环境中工作正常,我没有收到405错误。我只在本地主机上收到此错误。如果是CORS问题,我会在调试控制台中出错,但我没有。因此,我怀疑GAE使用的dev_appserver.py在windows上存在环境bug
$app->post('/api/favorite', function (Request $request, Response $response) {
echo "test";
});