*已修复*** 原来我的浏览器被缓存了!它一直在工作。我对代码所做的唯一更新是在发布评论后更新结果,这样我就可以在 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。