Extensión de archivo JSON

He estado guardando todos mis archivos json con extensión .txt y trabajaron con las llamadas ajax jquery.

Cuando cambio la extensión a .json y en mi llamada ajax jquery – jQuery.ajax () – Especifico

  • tipo de datos: “json”,
  • contentType: “application / json; charset = utf-8”,

Los archivos ya no funcionan. ¿Porque?

¿No deberían todos los archivos json tener una extensión .json? Estoy usando el servidor IIS.

JSON

{ "rows": [ {"row":[ {"cells": [ {"data": "Edit"}, {"data": "030194"} ]} ]}, {"row":[ {"cells": [ {"data": "Add"}, {"data": "030194"} ]} ]} ]} 

jQuery

 jQuery.ajax ({ type: "GET", url: "localhost/ABC.json", dataType: "json", contentType: "application/json; charset=utf-8", cache: "false", success: function(response){} }); 

¿Puede alguien decirme por qué la extensión .json no está funcionando? Funciona si lo cambio a .txt

La extensión correcta es .json , y el tipo mime es application/json (referencia: esta página de Wikipedia ). Sin embargo, en términos generales, debería funcionar con cualquier extensión siempre que su estructura de datos sea válida y su servidor web esté haciendo lo que se supone que debe hacer.

IIS viene con un montón de controladores de tipo MIME. Esto significa que cuando ingresa una URL que termina con, por ejemplo, .png , IIS sabe que se trata de una imagen y envía la respuesta adecuada para decirle al cliente (navegador) que es una imagen (para que se pueda representar como tal) .

.json no tiene un controlador de tipo MIME de forma predeterminada. Necesitas configurar uno:

  • Cargar el Administrador de IIS
  • Navegue por los nodos del árbol hasta su aplicación web o sitio web
  • Haga doble clic en la función Tipos MIME (panel inferior)
  • Haga clic en Agregar (RHS en “Agregar”, o haga clic con el botón derecho y seleccione Agregar)
  • Coloque .txt en el campo de extensión y application/json como tipo MIME

Has terminado Intenta solicitar el archivo JSON en el navegador; si se procesa correctamente (como texto), impresionante. Si no es así, es posible que deba indicar a IIS que se muestre como text/plain lugar.

dataType: “json” no es para especificar que el tipo de archivo es para especificar el tipo de datos que el servidor devolverá. Desde el lado del servidor, por ejemplo, si está usando php, tiene que devolver la cadena json usando la función “json_encode” para que pueda ser aceptado por dataType: “json”.

Intereting Posts