我正在尝试创建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”语句,但是我没有将任何数据发送给调用者。
感谢。
答案 0 :(得分: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);