1

我在 Yii 中使用其余的 API。我想使用 实现更新功能PUT,但它不起作用并且总是从数据库返回未更改的结果。

public function actionUpdate(){    
    $json = file_get_contents('php://input');
    echo $json;
    $put_vars = CJSON::decode($json,true);  //true means use associative array
    echo count($put_vars);
    ...

上面的代码是我的功能。我在 $put_vars = CJSON::decode($json,true); 行中检测到了问题 因为提交key/value对后$json不为空,但是解码后数据变为空。

您可以在一些休息客户端尝试并自己查看结果: http ://www.taxitaxi.kz/dispatcher/index.php/api/test/1

键/值:评级/8

$json 的回声给出以下响应:

字符串(232)“------WebKitFormBoundarypsSvnRl0DUwJooRP 内容处置:表单数据;名称=“评级”

8 ------WebKitFormBoundarypsSvnRl0DUwJooRP Content-Disposition: form-data; 名称="日期"

333 ------WebKitFormBoundarypsSvnRl0DUwJooRP--

键/值对是:rating/8, date/333

它是parceble json响应吗?

4

1 回答 1

0

我在实时站点中有非常相似的代码,我使用:

parse_str(file_get_contents("php://input"), $_PUT);

然后$_PUT是一个 PUT 数据数组,就像 $_GET 或 $_POST 一样。然后你可以用它做任何你喜欢的事情。

于 2013-06-24T16:53:55.637 回答