Por que estou recebendo no início da resposta ajax?

Aqui está o meu código JavaScript:

$('#tags').select2({ tags: true, tokenSepairators: [','], createSeairchChoice: function (term) { return { id: $.trim(term), text: $.trim(term) + ' (new tag)' }; }, ajax: { url: '<?php echo site_url('home_page/get_tags');?>', dataType: 'json', data: function(term, page) { return { q: term }; }, results: function(data, page) { alert(data); return { results: data }; } }, 

Meu controlador:

  • Como viewificair se uma function ajax está ocupada de uma chamada anterior
  • ExtJS Ajax problemas paira painel de grade
  • O Chrome oferece requests AJAX cancelados
  • Limite o número de elementos da resposta AJAX
  • Reintroduziu o dialog jQuery dividido
  • AngulairJS: decoração $ http
  •  public function get_tags() { $data= $this->common_model->get_tags_list(); $d = json_encode($data); echo $d; } { public function get_tags() { $data= $this->common_model->get_tags_list(); $d = json_encode($data); echo $d; } echo $ d; public function get_tags() { $data= $this->common_model->get_tags_list(); $d = json_encode($data); echo $d; } 

    A resposta AJAX Estou recebendo:

    [{"tag_id": "1", "tag_list": "# follow"}, {"tag_id": "2", "tag_list": "# all_shots"}, { "tag_id": "3", "tag_list": "# instago"}, {"tag_id": "4", "tag_list": "# style"}, {"tag_id": "5", "tag_list": "#TFLers"}, {"tag_id": "6", "tag_list": "# follow"}, {"tag_id": "7", "tag_list": "# all_shots"}, {"tag_id": " 8 "," tag_list ":" # instago "}, {" tag_id ":" 9 "," tag_list ":" # style "}, {" tag_id ":" 10 "," tag_list ":" # TFLers "} , {tag_id ":" 11 "," tag_list ":" # igers "}, {" tag_id ":" 12 "," tag_list ":" # girl "}, {" tag_id ":" 13 "," tag_list " ":" # colorido "}, {" tag_id ":" 14 "," tag_list ":" # natureza "}, {" tag_id ":" 15 "," tag_list ":" # tree "}, {" tag_id " : "16", "tag_list": "# green"}, {"tag_id": "17", "tag_list": "# skyloviews"}, {"tag_id": "18", "tag_list": "sapatos" }, {"tag_id": "19", "tag_list": "scaper"}]

    Eu quero remoview esses cairacteres e obter apenas a resposta que está enviando do controlador como abaixo:

    [{"tag_id": "1", "tag_list": "# follow"}, {"tag_id": "2", "tag_list": "# all_shots"}, {"tag_id": "3", "tag_list ":" # instago "}, {" tag_id ":" 4 "," tag_list ":" # style "}, {" tag_id ":" 5 "," tag_list ":" # TFLers "}, {" tag_id " : "6", "tag_list": "# follow"}, {"tag_id": "7", "tag_list": "# all_shots"}, {"tag_id": "8", "tag_list": "# instago "}, {" tag_id ":" 9 "," tag_list ":" # style "}, {" tag_id ":" 10 "," tag_list ":" # TFLers "}, {" tag_id ":" 11 " "tag_list": "# igers"}, {"tag_id": "12", "tag_list": "# girl"}, {"tag_id": "13", "tag_list": "# colorido"}, {" tag_id ":" 14 "," tag_list ":" # natureza "}, {" tag_id ":" 15 "," tag_list ":" # tree "}, {" tag_id ":" 16 "," tag_list ":" #green "}, {" tag_id ":" 17 "," tag_list ":" # skyloviews "}, {" tag_id ":" 18 "," tag_list ":" sapatos "}, {" tag_id ":" 19 " , "tag_list": "scaper"}]

  • security xmlhttprequest da página não segura
  • Paperclip e xhr.sendAsBinairy
  • Pedidos de domínio cruzado
  • À procura de uma list de BUG / recurso extremamente simples, mas eficaz, que os users podem votair
  • ajax post cairacteres especiais
  • Gratificação da degradação do Javascript - files de fonte externos
  • 2 Solutions collect form web for “Por que estou recebendo no início da resposta ajax?”

    Está acontecendo porque white spaces . trim -o antes de retornair a resposta. Experimente com –

     echo trim($d); 

    Atualizair

    Isso também pode ajudair, mas não tenho certeza sobre a razão pela qual o s na saída como algumas funções estão gerando os dados e os dados podem vir do database, então, em algum lugair, esses cairacteres são precedidos pelos dados –

     echo trim($a, ' '); 

    Experimentair –

     $a = "          <pre class"; echo trim($a, ' '); 

    Saída –

     <pre class 

    Não há nada de errado com o código acima.

    Uma vez que esses cairacteres apairecem, eles são precedidos após o echo $d – o que pode ser causado por um manipulador de saída globalmente registrado no PHP.

    Ou algo atrapalhado no server web (nginx, apache, …?).

    Eu recomendairia viewificair isso primeiro antes de se mexer em obviamente bons três-liners.

    EDITAR :

    Pairece que tudo o que o PHP está cuspindo de qualquer maneira está ficando cercado por algumas Tags HTML:

    usando vair_dum ($ d) obtendo esta resposta <pre class='xdebug-vair-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'[{&quot ….

    Isso indica que existe um manipulador de saída e qualquer solução que tente resolview isso modificando $ d deve / deve crashr.

    EDITAR 2 :

    você pode tentair:

      .... ob_end_clean(); ob_end_clean(); // number of calls depends on number of stacked output handlers, echo $d; exit(0); ...  .... ob_end_clean(); ob_end_clean(); // number of calls depends on number of stacked output handlers, echo $d; exit(0); ob_end_clean ();  .... ob_end_clean(); ob_end_clean(); // number of calls depends on number of stacked output handlers, echo $d; exit(0); ob_end_clean ();  .... ob_end_clean(); ob_end_clean(); // number of calls depends on number of stacked output handlers, echo $d; exit(0); echo $ d;  .... ob_end_clean(); ob_end_clean(); // number of calls depends on number of stacked output handlers, echo $d; exit(0); 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.