过去几天我一直在整合Slim API来处理一些PHP Web服务。使用GET的前几个服务是直接的并且没有问题。但是,在尝试集成某些POST方法时,我没有收到该服务的响应。我甚至尝试过一个简单的回声来查看是否正在调用该服务。在每种情况下,都没有回报。下面的代码,为清楚起见,已删除了一些方法。
POST方法没有响应的任何原因?谢谢! VIV
$app->get('/login/:un/:pw/:type','login');
$app->get('/browseMO/:prm1/:prm2', 'browseMedia');
$app->get('/usersReviews/:userID','usersReviews');
$app->get('/pubsReviews/:userID','pubsReviews');
$app->get('/productReviews/:productID','getProductReviews');
$app->get('/productAvg/:productID','averageReviewsByOProduct');
$app->post('/userUpd','updateUserInfo');
$app->run();
function averageReviewsByOProduct($productID){
reviews::getAvgReviewByProduct($productID);
}
function browseMedia($param1, $param2){
browseMediaObjects::getMedia($param1, $param2);
}
function updateUserInfo(){
// $request = Slim::getInstance()->request();
// $body = $request->getBody();
echo "UPDATE CALLED"; // never reached
}
答案 0 :(得分:0)
尝试在slim post声明中创建一个匿名函数,看看该函数是否被调用。如果没有,那就是苗条的东西。如果是这样,那就是你的代码。
$app->post('/userUpd',function() use ($app) {
echo 'Test';
});
如果不起作用,请确保正确返回数据。例如,上面的内容正确地为需要文本字符串响应的AJAX调用返回数据。