1

过去几天我一直在集成 Slim API 来处理一些 PHP Web 服务。前几个服务使用了 GET,这很简单,没有任何问题。但是,当尝试集成一些 POST 方法时,我没有收到来自服务的响应。我什至尝试了一个简单的回显来查看是否正在调用该服务。在任何情况下,都没有回报。下面的代码,为了清楚起见,已经删除了一些方法。

POST方法没有响应的任何原因?谢谢!生活

$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
}   
4

1 回答 1

0

尝试在 slim post 声明中创建一个匿名函数,看看该函数是否被调用。如果没有,那就是苗条的东西。如果是这样,则与您的代码有关。

$app->post('/userUpd',function() use ($app) {
    echo 'Test';
});

如果这不起作用,请确保您正确返回数据。例如,上面为期望文本字符串响应的 AJAX 调用正确返回数据。

于 2013-07-12T15:09:05.730 回答