codeigniter RESTful API перенастройка синтаксической ошибки JSON

#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(); смог решить мою проблему. Это было очень полезно!