1

我正在尝试创建一个 API。

我有一个控制器做某事,并返回让我们说“ABC”作为一个字符串。我的网址如下所示:

     http://myserver/myapp/myAPImethod/parm1

在方法内部,我有这样的代码:

    header ('Content-Type: application/json; charset=UTF-8');
    $model= str_replace("%snv%"," ",$model);
    echo json_encode($model);

使用此 API 的应用程序具有执行以下操作的控制器:

public function curl($url){
  //echo 'in the routine';
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data=curl_exec($ch);
    print_r($data);
    curl_close($ch);
    return $data;
  }
    $url = "http://myserver/myapp/index.php/myAPImethod/hname";
    $jsondata = $this->curl($url);      
    //print_r(json_decode($jsondata));

我的问题是:当我运行使用我的 API 的应用程序时,因为我有一个 echo 语句,它在页面上显示“ABC”。但我不希望它显示结果。我只是希望它将数据传递给消费应用程序。我尝试将 API 方法中的 echo 语句更改为“return”语句,但我没有收到任何数据发送给调用者。

谢谢。

4

1 回答 1

0

创建 JSON 视图并将数据传递给 json 视图

// In view create a file json_view.php and paste this content

// RFC4627-compliant header
header('Content-type: application/json');

// Encode data
if(isset($response)) {
    echo json_encode($response);
}
else
    echo json_encode(array('error' => true));

在你的控制器中

// Build our view's data object
$data = array('response' => $response_data);
// Load the JSON view
$this->load->view('json_view', $data);
于 2015-01-25T05:37:23.427 回答