Tengo un archivo json en una carpeta de Contenido dentro de mi asp.net proyecto:

<projectName>
    \Content
        NBCCJr.json

…y el código para acceder a ella:

$.getJSON('~/Content/NBCCJr.json', function (data) {
    $.each(data, function(i, dataPoint) {
        //Bla
      });
  });
)

…pero no pasa nada cuando el código es llamado; el navegador de la consola dice: «Error al cargar el recurso: el servidor responde con un estado de error 404 (No Encontrado)»

¿Por qué es que no se encuentra? No es «tilde golpe del archivo de nombre» la ruta correcta del archivo?

ACTUALIZACIÓN

Yo también lo he probado con el «golpea» al revés:

$.getJSON('~\Content\NBCCJr.json', function (data) {

…y tiene el mismo resultado («no se pudo cargar el recurso: el servidor responde con un estado de error 404 (No Encontrado)«)

ACTUALIZACIÓN 2

Después probé sans antepone un golpe así:

$.getJSON('Content/NBCCJr.json', function (data) {

…y me sale este mensaje ambiguo en la consola:

*GET http://localhost:9702/Content/NBCCJr.json 404 (Not Found) jquery.js:8724
XHR finished loading: "http://localhost:9702/Content/NBCCJr.json".*

Por lo que no fue encontrado y, sin embargo, cargado de todos modos?

ACTUALIZACIÓN 3

Cuando intenté navegar hasta el archivo en el navegador cambiando:

http://localhost:9702/Default.cshtml

…a:

http://localhost:9702/Content/NBCCJr.json

Tengo un informativo WSOD mensaje de Vint Cerf, Tim Berners-Lee, y/o Al Gore, diciendo:

De Error HTTP 404.3 – No se ha Encontrado
La página que solicita no puede ser servido a causa de la configuración de extensión. Si la página es una secuencia de comandos, agregar un controlador. Si el archivo debe ser descargado, agregar un mapa de MIME.

ACTUALIZACIÓN 4

Gracias a la MERMELADA, se está trabajando ahora.

He tenido que añadir esta Web.Config:

  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
  • No te preocupes por el código por ahora, a ver si puedes localizar el archivo en su navegador para empezar con
  • He comentado todo el código después de la línea que se muestra, por esa razón. IOW, la función está vacía.
  • Te las has arreglado para mostrar el json en su navegador? es decir, poner la URL directamente en la barra de direcciones?
  • Lee: ver actualización 3.
  • Lo hizo «aprieta»?
  • Yo tenía este problema. He intentado los métodos de jquery y d3. Agregar el mime sección me va. Yo estaba realmente sorprendido. Agradezco la ayuda.
  • Actualización 4 resuelto para mí! Thks \o/

4 Comentarios

  1. 95

    Ha intentado la eliminación de la ~ ?

    Como en:

    $.getJSON('/Content/dumboJr.json', function (data) {
        $.each(data, function(i, dataPoint) {
            //Bla
          });
      });
    )

    Para permitir que el IIS para servir JSON archivos, trate de añadir esto a tu web.config:

    <staticContent>
        <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
    • Sí (ahora tengo). Este: $.getJSON(‘/Contenido/NBCCJr.json’, function (data) { da la misma respuesta.
    • Es una respuesta 404? ¿Has probado a navegar hasta el archivo directamente en el navegador? Es el Contenido de la carpeta en la raíz de tu proyecto web?
    • Sí, el post dice que. Por favor ver mis actualizaciones. Sí, el Contenido es un primer nivel de carpeta, como se indica en el post original.
    • Echa un vistazo a este post.
    • Bueno, voy a checa que fuera; en primer lugar, una nueva actualización (3) sin embargo.
    • Si se agrega la web especificado.config tipo mime usted va a estar bien 🙂
    • Si se agrega esto a través de la consola de administración de iis, asegúrese de reiniciar la aplicación para ver los cambios.
    • Gracias! también comprobar esto por la web.config ref… iis.net/configreference/system.webserver/staticcontent
    • Cuando me desactivar CORS del navegador y configuración de la Web.config como @Stefan está recomendando en este post todo lo que es trabajo para mí

  2. 22

    Solución es que usted necesita para agregar json extensión de archivo tipo MIME Tipos

    Método 1

    Ir a IIS, Seleccione su aplicación y Encontrar los Tipos MIME

    ¿Por qué mi archivo json no se encuentra?

    Haga clic en Agregar desde el panel de la Derecha

    Extensión De Nombre De Archivo = .json

    Tipo MIME = application/json

    ¿Por qué mi archivo json no se encuentra?

    Después de la adición de .json tipo de archivo en Tipos MIME, Reiniciar IIS y tratar de acceso de archivo json


    Método 2

    Ir a la web.config de la aplicación y añadir estas líneas en que

     <system.webServer>
       <staticContent>
         <mimeMap fileExtension=".json" mimeType="application/json" />
       </staticContent>
     </system.webServer>
  3. 2

    Tratar de poner el *.archivo json en el webRoot, no en una subcarpeta. Y, a continuación, hacer referencia a ella como:

    $.getJSON('NBCCJr.json', function (data) {

    Por supuesto, esto requiere que el anterior, la inclusión y la creación de instancias de jQuery sistema objeto de: jquery.min.js o la estructura JSON desde: json2-1.0.min.js

  4. 1

    He Cambiado .de json .txt y solicitud está trabajando bien. No estoy seguro acerca de la consecuencia .txt puede causar.

Dejar respuesta

Please enter your comment!
Please enter your name here