首页 > 解决方案 > Codeiginter 通知消息:上传网站后尝试获取非对象的属性

问题描述

我正在使用代码 php Codeiginter 在 localhost 中使用 apis 构建网站,上传网站后一切正常,此消息显示给我

遇到 PHP 错误 严重性:通知

消息:试图获取非对象的属性

这个api方法:

public function getAdditionalsByAreaId($areaId)
{
    if ($_SERVER['REQUEST_METHOD'] == "GET") :

        $this->apiToken = $_SERVER['HTTP_APITOKEN'];

        $partnerId = $this->jwtc->getUserIdFromToken($this->apiToken);

        if (!count($this->PartnersModel->getPartnerInfoByToken($partnerId))) :
            $this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($this->resultheaders->forbidden(), JSON_UNESCAPED_UNICODE));
            return;
        endif;


        if (!$this->checkIfAreaForPartner($partnerId, $areaId)) :
            $this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($this->resultheaders->forbidden(), JSON_UNESCAPED_UNICODE));
            return;
        endif;

        $this->header = $this->resultheaders->success();

        $rs = $this->AreasModel->getAdditionalsByAreaId($areaId);

        $result = array(
            'header' => $this->header,
            'list' => $rs
        );
        $this->output
            ->set_content_type('application/json')
            ->set_output(json_encode($result, JSON_UNESCAPED_UNICODE));

    endif;
}

private function getAdditionalsByAreaId($areaId)
{
    return $this->AreasModel->getAdditionalsByAreaId($areaId);
}

和这个函数来获取 api 结果:

    public function getAdditionalsByAreaId($areaId)
    {
//
        $curl = curl_init($this->datalayer->getApiUrl() . 'partners/areas/getAdditionalsByAreaId/' . $areaId);
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
                'Content-Type: application/json',
                'ApiToken:' . $this->datalayer->getApiToken(),
            )
        );
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // Make it so the data coming back is put into a string
        $result = curl_exec($curl);
        curl_close($curl);
        return json_decode($result);
    }

我的问题在哪里?

标签: codeigniter

解决方案


我解决了这个问题,问题出在,恢复的数据names有如下空间:

$_POST['first_name ']; 

解决方案只是我删除了空间:

 $_POST['first_name ']; 

推荐阅读