*修正済み*** ブラウザがキャッシュされていたことが判明しました! それはずっと働いていました。私が自分のコードに行った唯一の更新は、コメントが投稿されたときに結果を更新することでした。これにより、json 応答で情報を取得できます。
return $result->comment = array('video_id'=>"$video_id",'fb_id'=>"$fb_id",'comment'=>"$comment");
フォームからレストラーに値を投稿するのに問題があります。何が間違っているのかわかりません。
フォームを投稿しようとすると、次のように返されます。
{ "エラー": { 「コード」:404、 "メッセージが見つかりません" } }
これが私のフォーム(comment.html)のコードです:
<form action="http://mysite.com/api/index.php/comment" method="post">
<label>fb_id</label>
<input type="text" name="fb_id">
<label>video_id</label>
<input type="text" name="video_id">
<label>comment</label>
<input type="text" name="comment">
<input type="submit" value="Post" name="submit">
</form>
これが私のクラス(comment.php)のコードです:
クラスコメント{ static $FIELDS = array('video_id', 'fb_id','comment'); パブリック $restler; public function insert($rec){ $video_id = mysql_escape_string($rec['video_id']); $fb_id= mysql_escape_string($rec['fb_id']); $comment = mysql_escape_string($rec['comment']); $sql = "INSERT INTO コメント(video_id,fb_id,comment) VALUES('$video_id','$fb_id','$comment')"; mysql_query($sql); '挿入されたレコード' を返します。 } public function post($request_data=NULL){ return $this->insert($this->_validate($request_data)); } プライベート関数 _validate($data){ $コメント=配列(); foreach (Comment::$FIELDS as $field) { if(!isset($data[$field]))throw new RestException(417,"$field field missing"); $comment[$field]=$data[$field]; } $コメントを返します。 } }
誰かが助けてくれれば、私の他のすべての API 呼び出しは GET でうまく機能しています。それは私が問題を抱えている POST です。