2013-04-11 12 views
50

Ich habe die "ERROR 404.3 nicht gefunden" für JSON-Datei, die ich mit AJAX Aufruf auf "Internet Information Services 7.5" aufrufen, auch nachdem ich alle "Application Development Features" aktiviert haben . Außer der JSON-Datei werden alle anderen Dateien geladen.Fehler 404.3 nicht gefunden für JSON-Datei

Ich führe eine HTML-Seite auf IIS-Server auf meinem lokalen Rechner.

Wenn ich die Datei direkt öffne, gibt es überhaupt kein Problem. Wenn ich die Dateien auf einem Online-Server hosten, funktioniert es gut.

Jede schnelle Hilfe wird sehr geschätzt.

Antwort

24

Ist die Datei, die Sie versuchen, in derselben Domäne zu empfangen? Oder holst du den JSON von einem anderen Server? Wenn es auf einer anderen Domain gehostet wird, müssen Sie JSONP aufgrund der gleichen Ursprungsrichtlinie verwenden.

+0

es ist die gleiche Domain, unten ist die Ordnerstruktur: Stammordner index.html - data/data.json - js/js.js –

+60

Ok Das Problem ist, dass IIS standardmäßig keinen JSON-Dateityp (MIME) hat, also müssen Sie es einrichten: Um dies für den gesamten Server festzulegen: 1. Öffnen Sie die Eigenschaften für Ihren Server in Ihrem IIS-Manager und gehen für MIME-Typen. 2. Verwenden Sie "Neu" und geben Sie "JSON" als Erweiterung und "application/json" für MIME ein. – elasticman

+1

Danke @ user1794026 das hat funktioniert, das war schnell und einfach. –

26

Wie @elasticman sagte, ist es notwendig, den IIS-Manager zu öffnen -> Mime-Typen -> Fügen Sie einen neuen MIME-Typ mit

Erweiterung: .json MIME-Typ: application/json

Aber für mir war das immer noch nicht genug. Ich habe eine ASP.NET MVC 4-Anwendung, und ich musste meine Root-Web.config Datei ändern.

Insert

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

irgendwo in Ihrem

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

Wie @ancajic schlug ich den Code unten setzen nach Tag in meiner Datei web.config connection und es funktionierte.

+0

Dank hatte ich Probleme herauszufinden, wo setzen und wissen, es in zu setzen war, was es funktioniert! Vielen Dank! – richfinelli

+0

Sie sind herzlich willkommen! :) – Himanshu

+0

Wo finde ich die Datei web.config? – userJT

6

Ich habe die folgenden Einstellungen auf dem IIS angewendet wurde richtig.


1.Open IIS-Manager

2.Display Eigenschaften für den IIS-Server

3.Click MIME-Typen und dann die JSON-Erweiterung hinzufügen:

Dateinamenerweiterung: .json

MIME-Typ: application/json

4.Go zurück zu den Eigenschaften für IIS Server

5.Click auf Handler Mappings

ein Skript Karte

Anfrage Pfad hinzufügen: * .json

Ausführbare Datei: C: \ WINDOWS \ system32 \ inetsrv \ asp .dll Name: JSON

7

Wenn Sie IIS Express mit Visual Studio verwenden, funktioniert IIS-Manager nicht für IIS Express. Stattdessen müssen Sie diese Konfigurationsdatei von% userprofile% \ documents \ IISExpress \ config \ applicationhost öffnen.konfigurieren und einfügen

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

zusammen mit allen anderen vordefinierten Mime-Typen.

0

Ich habe nicht das gleiche Problem, aber für mich (Windows Server 2003 IIS 6) funktioniert der MIME-Typ Anwendung/Json nicht. Ich benutze text/plain und perfekt funktionieren (Sie müssen den Server neu starten)

0

Um dieses Problem mit einem Azure App-Service zu lösen:

Verwenden Sie FTP oder Kudu Armaturenbrett diese Datei eine Ebene über wwwroot-- hinzufügen

/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> 

Klicken Sie dann unter Anwendungseinstellungen im Azure-Portal, einen Handler Mapping hinzufügen:

.json  C:\WINDOWS\system32\inetsrv\asp.dll 
0
  1. Zum IIs

  2. Select Webseite

  3. Double Click Mime Type Icon Unter IIs

  4. Klicken Sie auf Link in der rechten Seite

  5. Dateinamenerweiterung = hinzufügen. JSON Mime Type = Anwendung/JSON

  6. Klicken Sie auf OK.

Ich hoffe, Ihr Problem zu lösen ist