2013-07-12 34 views
1

我已经花了几天的时间集成了Slim API来处理一些PHP Web服务。前几个服务利用了GET,这是直截了当的,没有问题。但是,在尝试集成某些POST方法时,我没有收到该服务的响应。我甚至尝试过一个简单的回声来查看服务是否被调用。在任何情况下,都没有回报。下面的代码中,一些方法已被清除。Slim API不响应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

尝试在slim post声明中创建一个匿名函数,并查看该函数是否获得调用。如果没有,这是苗条的东西。如果确实如此,那就是你的代码。

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

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

+0

感谢您的帮助,但不幸的是,这产生了相同的结果:( – Pheepster

+0

然后,你需要看看你的苗条配置,并确保你没有打开或关闭错误 –

+0

我没有做任何事情配置,我只是写这些服务,以支持iOS应用程序(PHP不是我的专业!)。你能给我任何想法在哪里寻找一个问题? – Pheepster