1

*已修复*** 原来我的浏览器被缓存了!它一直在工作。我对代码所做的唯一更新是在发布评论后更新结果,这样我就可以在 json 响应中取回信息。

return $result->comment = array('video_id'=>"$video_id",'fb_id'=>"$fb_id",'comment'=>"$comment");

我无法将表单中的值发布到 restler。我不确定我做错了什么。

当我尝试发布我的表格时,我得到了回报:

    {
      “错误”: {
        “代码”: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):

    类评论{
        静态 $FIELDS = array('video_id', 'fb_id','comment');
        公共 $restler;

        公共函数插入($rec){
            $video_id = mysql_escape_string($rec['video_id']);
            $fb_id= mysql_escape_string($rec['fb_id']);
            $comment = mysql_escape_string($rec['comment']);
            $sql = "插入评论(video_id,fb_id,comment) VALUES('$video_id','$fb_id','$comment')";
            mysql_query($sql);
            返回“插入记录”;
        }

        公共功能发布($request_data=NULL){
            返回 $this->insert($this->_validate($request_data));
        }

        私有函数 _validate($data){
              $comment=数组();
              foreach (注释::$FIELDS as $field) {
                  if(!isset($data[$field]))throw new RestException(417,"$field field missing");
                  $comment[$field]=$data[$field];
              }
              返回$评论;
          }

    }

如果有人可以帮忙,我所有的其他 API 调用都适用于 GET。这是我遇到问题的POST。

4

0 回答 0