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

スリムな投稿宣言で無名関数を作成してみて、関数が呼び出されるかどうかを確認してください。そうでない場合は、スリムなものです。もしそうなら、それはあなたのコードに何かがあります。

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

それでもうまくいかない場合は、データが正しく返されていることを確認してください。たとえば、上記は、テキスト文字列の応答を期待する AJAX 呼び出しに対してデータを正しく返します。

于 2013-07-12T15:09:05.730 に答える