2012-04-10 11 views
0

Web APIについては、私はFacebook Graph APIに似た何かをしたいと考えています。ユーザーは別のユーザーを招待できます。私は空のデータをPOSTする場合ただし、これはPHP、として私のために働いていません空のデータをPOSTすることはできますか?

/invitation/<invitationId>/accepted 

または

/invitation/<invitationId>/rejected 

:招待を受け入れるか拒否するには、他のユーザーはに空のPOSTを行う必要があります(またはApache?)次のエラーが返されます。

Request entity too large!

The POST method does not allow the data transmitted, or the data volume exceeds the capacity limit.

明らかにこれは、POSTデータが(私はFirebugの中でダブルチェック)空であるため、真実ではありません。だから私の質問は:

  • 空のデータをPOSTできますか?それは私はちょうどいくつかのダミーのデータを投稿するだろうと思うが、私はむしろこの種のハックを避けるだろうと思います。

  • の場合、Apache/PHPにリクエストを許可するにはどうすればよいですか?

+0

なぜPOSTを実行し、そのページにリンクしていないのですか?ナビゲーションに 'form action =" "'と '

+0

はい、空の$ _POSTを送信することは許可されていますが、それは意味がありますか? – Lobo

+0

GETリクエストとしてAPIを実装してみませんか? JSONPでjavascriptから使用するほうが簡単かもしれません。データを送信する必要がない場合は、GETを使用してください。 – Yaniro

答えて

0

私はあなたがRESTfulなAPIのいくつかの種類をやってみたいことを推測し、あなたがデータなしでポストを送信する必要がある理由です。

<?php 

echo '<h2>This page was requested using ' . $_SERVER['REQUEST_METHOD'] . '</h2>'; 
echo '<pre>'; 
print_r($_POST); 
echo '</pre>'; 
?> 
<form action="" method="post"> 
    <input type="submit" value="Request this page using POST" /> 
</form> 

のApache/PHPを使用して、空のPOSTデータを送信できるようにする必要があり

、制限はあなたがこの単純なファイルでこれをテストすることができ

を使用しているフレームワークの一部のサーバ構成によって課されなければなりません

_POST配列がempyであっても、スクリプトがPOSTリクエスト(_SERVERスーパーグローバルからREQUEST_METHODを使用)を検出することがわかります

-1

なぜPOSTリクエストを行っていますか?データが送信されたかどうかをAPIで検出し、データがない場合はGET要求を行います。実際には、ブラウザがその情報をより簡単にキャッシュすることができるため(キャッシュ特有のヘッダを送信することでAPIをスマートにすることができます)、はるかに効率的であるため、ほとんどの場合GET要求を行います。

あなたのケースでPOSTリクエストを作るても意味がありません:)

+0

ありがとうございますが、それは本当に質問に答えません。私は@ GordonMのように、GETクエリはシステム内の何も変更すべきではないと思います。さらに、データを変更するので、要求をキャッシュすることは望ましくありません。私は完全にあなたのポイントを参照してくださいしかし、それは本当に質問ではありません。私は空のPOSTデータを送信する正当な理由があると仮定しましょう:)質問は:それはできますか?もしそうなら、なぜPHPがリクエストを拒否しているのですか? –

関連する問題