我创建了一个 CakePHP 应用程序,并且在设置了 routes.php 文件之后,我可以发送 JSON 请求,以便将我的应用程序用作 API。为了测试,我创建了一个函数,如下所示:
public function api() {
if($this->request->is('post')) {
$data1 = (string)$this->request->data['Model']['data1'];
$data2 = (string)$this->request->data['Model']['data2'];
//logic goes here,it does stuff and $result is the variable where the result of the login is saved
//$data1 and $data2 are used in the logic
$result = 'result';
$this->set('results',$result);
$this->set('_serialize',array('results'));
}
}
我还使用另一个名称创建了完全相同的功能,该名称旨在通过 Web 表单使用并且可以正常工作。但是,这段代码,在这里的这个函数,当我发布数据(我使用 Dev HTTP Client chrome 扩展)时,它返回 $results 变量为空,就像它没有收到我发送的内容一样:/ 我通过如下方式发送数据我使用的 chrome 扩展:
data1='stuff1'&data2='stuff2'
它只返回我
{
"results":""
}
(虽然相同的代码在没有 json 的情况下可以完美运行)。
我错过了什么吗?它似乎做错了什么吗?请在这里帮我一点..
ps:如果您需要更多信息,请告诉我,我会发布它。
先感谢您!