我正在使用Zurmo並嘗試使用REST API創建一個新帳戶。我精確地遵循了這個文檔:http://zurmo.org/wiki/rest-api-specification-accounts將所需參數作爲json數組傳遞。
這是我的PHP代碼:
公共職能actionCreateOrUpdate(){
$params=$_POST;
$modelClassName=$this->getModelName();
foreach ($params as $param)
{
if (!isset($param))
{
$message = Zurmo::t('ZurmoModule', 'Please provide data.');
throw new ApiException($message);
}
$r=$this->GetParam($param);
$res= array('status' => 'SUCCESS', 'data' => array($r));
print_r(json_encode($res,true));
}
}
function GetParam ($param){
$modelClassName=$this->getModelName();
if (isset($param['mobile_id']) && !$param['mobile_id']=='' &&!$param['mobile_id']==null)
{ $id=$param['mobile_id'];
$params=array();
foreach ($param as $k => $v) {
if(!($k=='mobile_id')) {
$params[$k] = $v;}
}
if ($params=null){$message = Zurmo::t('ZurmoModule', 'Please provide data.');
throw new ApiException($message);}
$tableName = $modelClassName::getTableName();
$beans = ZurmoRedBean::find($tableName, "mobile_id = '$id'");
if (count($beans) > 0)
{
$result = $this->processUpdate($id, $params);
}else{
$result = $this->processCreate($params,$id);
}
}
return $result;
}
的問題是,$ _ POST方法返回一個空數組。在調試時,我嘗試使用print_r($ _ POST),它也返回一個空數組。我也嘗試將參數作爲純文本傳遞並得到相同的結果。我試過$ _GET方法,它工作。我認爲問題出在$ _POST方法中,也許我需要在我的.php文件中更改某些內容。請有任何想法嗎?
您能顯示請求嗎?如果'$ _GET'正在工作,而不是'$ _POST',那麼發送它時可能會缺少請求類型。 – BrainPicker
請求類型是REST。我也嘗試使用HTTPRequester,但它給出了相同的結果:( – user3640056