Mam plik json w folderze zawartości w moim projekcie asp.net:
<projectName>
\Content
NBCCJr.json
... i kod dostępu do niego:
$.getJSON('~/Content/NBCCJr.json', function (data) {
$.each(data, function(i, dataPoint) {
// Bla
});
});
)
... ale nic się nie dzieje po wywołaniu kodu; konsola przeglądarki wyświetla komunikat „Nie udało się załadować zasobu: serwer odpowiedział stanem 404 (Nie znaleziono)”
Dlaczego go nie znaleziono? Czy „tilde whack filename” nie jest prawidłową drogą do pliku?
AKTUALIZACJA
Próbowałem też z „waleniem” wstecz:
$.getJSON('~\Content\NBCCJr.json', function (data) {
... i otrzymałem ten sam wynik („ Nie udało się załadować zasobu: serwer odpowiedział statusem 404 (Nie znaleziono) ”)
AKTUALIZACJA 2
Potem spróbowałem tego bez dodanego uderzenia w ten sposób:
$.getJSON('Content/NBCCJr.json', function (data) {
... i otrzymuję w konsoli ten niejednoznaczny komunikat:
*GET http://localhost:9702/Content/NBCCJr.json 404 (Not Found) jquery.js:8724
XHR finished loading: "http://localhost:9702/Content/NBCCJr.json".*
Więc nie został znaleziony i mimo to załadowany?
AKTUALIZACJA 3
Kiedy próbowałem przejść do pliku w przeglądarce, zmieniając:
http://localhost:9702/Default.cshtml
...do:
http://localhost:9702/Content/NBCCJr.json
Otrzymałem informacyjną wiadomość WSOD od Vinta Cerfa, Tima Berners-Lee i / lub Ala Gore'a:
Błąd HTTP 404.3 - nie znaleziono Żądana strona nie może zostać obsłużona z powodu konfiguracji rozszerzenia. Jeśli strona jest skryptem, dodaj procedurę obsługi. Jeśli plik ma zostać pobrany, dodaj mapę MIME.
AKTUALIZACJA 4
Dzięki JAM teraz działa.
Musiałem dodać to do Web.Config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>