2013-04-11 29 views
50

Ho ricevuto "ERROR 404.3 Not Found" per file JSON che sto chiamando utilizzando la chiamata AJAX su "Internet Information Services 7.5" anche dopo aver attivato tutte le "Funzionalità di sviluppo applicazioni" . Oltre al file JSON, tutti gli altri file vengono caricati.ERRORE 404.3 Non trovato per file JSON

Sto eseguendo una pagina HTML sul server IIS sul mio computer locale.

Se apro direttamente il file, non ci sono problemi. Quando ospita i file su un server online, funziona perfettamente.

Qualsiasi aiuto rapido sarà molto apprezzato.

risposta

24

Il file che si tenta di ricevere nello stesso dominio? O recuperi il json da un altro server? Se è ospitato su un dominio diverso, dovrai utilizzare JSONP a causa della stessa politica di origine.

+0

è lo stesso dominio, sotto è la struttura delle cartelle: cartella principale index.html - dati/data.json - js/js.js –

+60

Ok , il problema è che IIS non ha tipo JSON-File per impostazione predefinita (MIME) quindi devi configurarlo: Per impostare questo per l'intero server: 1. Aprire le proprietà per il server in Gestione IIS e andare per i tipi MIME. 2. Usa "Nuovo" e inserisci "JSON" come estensione e "application/json" per MIME. – elasticman

+1

Grazie @ user1794026 ha funzionato, questo è stato semplice e veloce. –

26

Come detto da @elasticman, è necessario aprire Gestione IIS -> tipi Mime -> Aggiungi un nuovo tipo di mimo con

Estensione: .json Tipo MIME: application/json

Ma per quello che ancora non era abbastanza. Ho un'applicazione ASP.NET MVC 4 e ho dovuto modificare il file root Web.config.

Inserire

<staticContent> 
    <mimeMap fileExtension=".json" mimeType="application/json" /> 
</staticContent> 

da qualche parte all'interno del vostro

<system.webServer> 
    ... 
</system.webServer> 
79

come suggerito da @ancajic ho messo il codice qui sotto, dopo ConnectionString tag nel mio file web.config ed ha funzionato.

<system.webServer> 
    <staticContent> 
     <mimeMap fileExtension=".json" mimeType="application/json" /> 
    </staticContent> 
    </system.webServer> 
+0

Grazie, stavo avendo problemi a capire dove mettere e sapere di metterlo dentro era quello che lo faceva funzionare! Grazie! – richfinelli

+0

Siete i benvenuti! :) – Himanshu

+0

dove trovo il file web.config? – userJT

6

Ho applicato le seguenti impostazioni su IIS.


1.Open Gestione IIS

2.Display proprietà per il server IIS

Tipi 3.Click MIME e quindi aggiungere l'estensione JSON: nome

Estensione del file: .json

MIME type: application/json

4.Go indietro alle proprietà per IIS Server

5.Click su Mapping gestori

Aggiungere un mapping di script

Percorso richiesta: * .json

eseguibile: C: \ WINDOWS \ system32 \ inetsrv \ asp .dll Nome: JSON

7

Se si utilizza IIS Express con Visual Studio, IIS Manager non funzionerà con IIS Express. Invece, è necessario aprire questo file di configurazione da% userprofile% \ documents \ IISExpress \ config \ applicationhost.config e inserisci

<staticContent> 
    <mimeMap fileExtension=".json" mimeType="application/json" /> 
</staticContent> 

insieme a tutti gli altri tipi di mime predefiniti.

0

Non ho lo stesso problema ma per me (Windows Server 2003 IIS 6) l'applicazione di tipo MIME/json non funziona. Io uso text/plain e lavoro perfetto (Non è necessario riavviare il server)

0

di risolvere questo problema con un App servizio Azure:

Utilizzare FTP o il cruscotto Kudu per aggiungere questo file un livello sopra wwwroot--

/site/applicationHost.xdt:

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.webServer> 
    <staticContent> 
     <mimeMap fileExtension=".json" mimeType="application/json" xdt:Transform="InsertBefore(/configuration/system.webServer/staticContent/*[1])" /> 
    </staticContent> 
    </system.webServer> 
</configuration> 

Quindi, in impostazioni applicazione nel portale Azure, aggiungere un mapping del gestore:

.json  C:\WINDOWS\system32\inetsrv\asp.dll 
0
  1. Vai a IIS

  2. Selezionare Sito

  3. fare doppio clic Tipo Mime icona sotto IIs

  4. Fare clic su Aggiungi link a destra

  5. File Nome estensione =. json Mime Type = application/json

  6. Fare clic su OK.

Spero che il vostro problema è risolto