#php #json #codeigniter #rest #api
#php #json #codeigniter #rest #API
Вопрос:
Ответ JSON от RESTful API Codeigniter вставляет HTML перед JSON, в результате чего ответ JSON умирает, прежде чем я смогу фактически войти в JSON. Я использую POSTMAN для тестирования, и это дает мне
SyntaxError: Unexpected token < in JSON
Вот необработанный ответ:
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
{"status":"success","message":[{"listitem_title":"Religion, Secularism, and Constitutional Democracy (Religion, Culture, and Public Life)","listitem_author":"","listitem_url":"https://stpsu.on.worldcat.org/search?queryString=bn:9780231168717","listitem_img":"http://ecx.images-amazon.com/images/I/41ed54Udo6L.jpg","listitem_id":"328","list_name":"New bookss Aug 29","page_list_id":"50","list_description":"New books for August 29","inst_id":"1"}..........
Итак, он что-то возвращает. Но он вставляет HTML раньше … так расстраивает…
Вот мой контроллер:
function featuredslideshow_get(){
//calls the featured slideshow data in JSON format
$inst_id = $this->uri->segment(3);
//locate featured pagelist ID
$inst_data = $this->user_model->get_config($inst_id);
//set pagelist ID
$featured_id = $inst_data->featured_pagelist;
//Find and search for featured items by pagelist ID
$titles = $this->pagelist_model->pagelist_with_items($featured_id);
if(isset($titles)){
$this->response(array('status' => 'success', 'message'=> $titles));
}else{
$this->response(array('status' => 'failure', 'message' => 'The specified institution could not be found' ), REST_Controller::HTTP_NOT_FOUND);
}
}//end of featured slideshow
У кого-нибудь есть какие-либо мысли о том, как я могу избавиться от этого HTML и просто использовать НЕОБРАБОТАННЫЙ JSON, используя эту библиотеку PHP?? Большое спасибо
Комментарии:
1. попробуйте добавить функцию die() после ответа в метод
2. Используйте ob_end_clean(); перед ответом
3. code.tutsplus.com/tutorials/…
4. Спасибо @user3774708 ob_end_clean(); смог решить мою проблему. Это было очень полезно!