0

作成と更新の両方に post メソッドを使用できますか?

リソースを更新するために「PUT」メソッドを試しましたが、サーバー側でパラメーターを取得できません。

4

2 に答える 2

1

PUT は、PHP (つまり $_PUT) や CodeIgniter ではネイティブに処理されません。頭のてっぺんからやるべきことが 2 つあります。1) 自分で PUT 変数を取得するか、2) Phil Sturgeon の REST ライブラリを使用します。

//put an associative array into $post_vars variable
parse_str(file_get_contents("php://input"),$post_vars);

ソース: http://www.lornajane.net/posts/2008/accessing-incoming-put-data-from-php

ただし、CodeIgniter を使用しているため、使用しない本当の理由が見つからない場合は、Phil Sturgeon のライブラリを使用する必要があります。すべての HTTP 動詞を処理します。

https://github.com/philsturgeon/codeigniter-restserver

于 2012-11-20T05:00:17.887 に答える
0

はい。PUT または DELETE メソッドの一貫したクライアント実装がないため、標準的な方法は、POST 要求を送信し、A) クエリ文字列パラメーター (つまり ) を使用するか、B)ヘッダー?_method=PUTを送信することです。X-METHOD-OVERRIDE

(クイック Google 検索はこれを返しました: http://www.endurasoft.com/Blog/post/X-HTTP-Method-Override.aspx )

作成アクションと更新の違いを知るには、おそらく CI_Input クラスを拡張する必要があります。

于 2012-11-20T05:05:55.203 に答える