我正在为我的iOS应用程序开发API。 API通过webservice与数据库交互。 API是在php的Slim框架的帮助下编写的。我在本地服务器上测试了api,一切正常。在将它们上传到实时服务器时,我注意到使用 GET 方法的所有请求仍然有效,但使用 POST 的请求在远程服务器上不起作用,并始终返回 404 Page not not发现错误。我刚测试了一个从 POST 转换为 GET 的api,它按预期工作。下面是我的Slim post request代码。
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->post('/forgotPassword', function() use ($app){
verifyRequiredParams(array('email'));
$response = array();
// reading post params
$email = $app->request->post('email');
$db = new DbHandler();
$res = $db->forgotPassword($email);
if ($R = mysqli_fetch_assoc($res)){
$response["error"] = false;
$response["message"] = "Password reset instructions have been sent to your email";
} else {
$response["error"] = True;
$response["message"] = "error";
}
echoRespnse(201, $response);
});
$app->run();
答案 0 :(得分:0)
它可以替代使用map函数而不是post:
$app->map(['GET', 'POST'],'/email', function (Request $request, Response $response) {
if ($request->isPost())
//enter code here
});