PHP: Content type JSON (Declarar Cabeceras)

PHP Content Type text/html

Muchas veces es bueno definir el tipo de contenido que estamos mostrando, así los navegadores podrán tratarlos como es debido y adaptarse a los estándares de estos.En el caso de JSON muchas veces lo usamos para comunicar el Frontend con el Backend pero un error que la mayoría hace es enviarlo como html plano en vez de decir que es de tipo JSON, por eso vamos a definirlo ahora.

Lo único que tenemos que hacer es agregar esta linea en nuestro código, así le decimos el tipo de datos y que están en UTF-8 (Opcional):

<?php

header("Content-type: application/json; charset=utf-8");

// Tu codigo PHP

Nota: es importante ponerla al comienzo del archivo PHP (lo mas arriba posible) y que no haya ningún salto de linea antes

PHP Content-Type apllication/Json
PHP Content-Type apllication/Json

En caso de no definirlo, la mayoría de los navegadores trataran los datos como html plano:

Content-type:text/html; charset=UTF-8

Algunas personas suelen declararlo como tipo text/json , pero eso es erróneo.

Content-type:text/json "Esta mal"

En nuestras consultas Ajax en JQuery debemos decirle que el tipo de los datos que vamos a recibir es un JSON agregando esta linea en la consulta Ajax:

dataType: 'json'

Quedando así:

$.ajax({
    type: "POST",
    url: "./vicolinker.php",
    data: {
        'action': 'vicolinker'
    },
    dataType : 'json',
    cache: false,    
    success: function(json) {
      console.log(json);
    error: function(xhr, resp, text) {
        console.log(xhr, resp, text);        
    }
});

Términos de Búsqueda:

  • Ajax json type
  • php content type json

Escríbeme un comentario si este contenido te fue útil o si te quedó alguna duda, así podré mejorarlo. Gracias!