0
PHPでRESTfulなサービスを作成することに関して、私は遅れて多くの質問をしてきました。私の質問はこれです:
ラジオボタンを使用して、すべてのサービス(GET、POST、PUT、DELETE)を単一のWebフォームから行うことはできますか?
これは私が私の頭の中で描いていますものです:PHPレストサービスは1つのHTMLフォームを使用していますか?
<form action="MyService.php" method="GET">
<label for="username">Username</label>
<input type="text" name="username" id="username" /><br />
<label for="password">Password</label>
<input type="password" name="password" id="password" /><br />
<label for="id">Task ID</label>
<input type="text" name="id" id="id"/><br />
<label for="desc">Task Description</label>
<input type="text" name="desc" id="desc"/><br />
<label>
<input type="radio" name="service" value="getRadio" checked/> GET
</label>
<label>
<input type="radio" name="service" value="postRadio" /> POST<br />
</label>
<input type="hidden" name="REQUEST_METHOD" value="GET"/><br />
<input type="hidden" name="REQUEST_METHOD" value="POST"/><br />
<input type="hidden" name="REQUEST_METHOD" value="PUT"/><br />
<input type="hidden" name="REQUEST_METHOD" value="DELETE"/><br />
<input type="submit" name="submit" value="ACTION"/>
</form>
それはこれまでのところ、不完全だが、私はがやろうとのを考えていることは、私のPHPファイルの概要を説明し、その後、各サービスのラジオボタンの選択を持っていますこのように:
$request = $_SERVER["REQUEST_METHOD"]
switch($request) {
case 'GET':
// logic for GET based on radio button selected
break;
case 'POST':
// logic for POST based on radio button selected
break;
// and then PUT and DELETE
}
これは実行可能ですか?もしそうなら、私は正しい道を歩いているのですか、あるいは私は変更を加える必要がありますか?
残念ながら、HTMLフォームはGETとPOSTをサポートしています。 http://stackoverflow.com/questions/165779/are-the-put-delete-head-etc-methods-available-in-most-web-browsersそれ以外の場合は、AJAXを使用して他のタイプのメソッドを動作させる必要があります。 –
ワーキンググループのメモがhttps://www.w3.org/TR/form-http-extensions/#http-delete-form –
あります。私はフォームを提出し(とにかくそれを提出する)、serializeとajaxを使用します提出を行う。 https://api.jquery.com/serialize/ – ArtisticPhoenix