2013-04-11 33 views
50

Tôi đã nhận được "ERROR 404.3 Not Found" cho tệp JSON mà tôi đang gọi bằng cách sử dụng cuộc gọi AJAX trên "Dịch vụ thông tin Internet 7.5" ngay cả sau khi tôi đã kích hoạt tất cả "Tính năng phát triển ứng dụng" . Ngoài tệp JSON, tất cả các tệp khác đang được tải.ERROR 404.3 Không tìm thấy tệp JSON

Tôi đang chạy trang HTML trên máy chủ IIS trên máy cục bộ của mình.

Nếu tôi mở tệp trực tiếp thì không có vấn đề gì cả. Khi tôi lưu trữ các tập tin trên một máy chủ trực tuyến nó hoạt động tốt.

Mọi trợ giúp nhanh sẽ được đánh giá cao.

Trả lời

24

Tệp bạn có cố gắng nhận trong cùng một tên miền không? Hay bạn lấy json từ một máy chủ khác? Nếu nó được lưu trữ trên một tên miền khác, bạn sẽ phải sử dụng JSONP do chính sách gốc giống nhau.

+0

đó là cùng một tên miền, dưới đây là cấu trúc thư mục: thư mục gốc index.html - dữ liệu/data.json - js/js.js –

+60

Okay , vấn đề là IIS không có loại tệp JSON theo mặc định (MIME), do đó bạn phải thiết lập nó: Để thiết lập cho toàn bộ máy chủ: 1. Mở thuộc tính cho máy chủ của bạn trong Trình quản lý IIS và đi cho các loại MIME. 2. Sử dụng "Mới" và nhập "JSON" làm phần mở rộng và "ứng dụng/json" cho MIME. – elasticman

+1

Cảm ơn @ user1794026 đã hoạt động, điều này thật nhanh chóng và dễ dàng. –

26

Như đã nói bởi @elasticman, nó là cần thiết để mở IIS Manager -> Loại Mime -> Thêm một loại mime mới với

Extension: .json Loại MIME: application/json

Nhưng đối với tôi vẫn chưa đủ. Tôi có một ứng dụng ASP.NET MVC 4, và tôi đã phải sửa đổi của tôi gốc Web.config tập tin.

Chèn

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

ở đâu đó bên trong bạn

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

Theo đề nghị của @ancajic tôi đặt vào mã bên dưới sau ConnectionString thẻ trong file web.config của tôi và nó làm việc.

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

Cảm ơn tôi đã gặp khó khăn trong việc tìm ra nơi để đặt và biết đặt nó bên trong là những gì làm cho nó hoạt động! Cảm ơn! – richfinelli

+0

Bạn được hoan nghênh! :) – Himanshu

+0

Tôi tìm tệp web.config ở đâu? – userJT

6

Tôi đã áp dụng các cài đặt sau trên IIS là đúng.


1.Open IIS Manager

2.Display thuộc tính cho IIS server

3.Click MIME loại và sau đó thêm phần mở rộng JSON: tên phần mở rộng

File: .json

Loại MIME: application/json

4.Quay lại đến các thuộc tính cho IIS server

5.Click vào Handler Mappings

Thêm một bản đồ kịch bản

Yêu cầu đường dẫn: * .json

Executable: C: \ WINDOWS \ system32 \ inetsrv \ asp .dll Tên: JSON

7

Nếu bạn đang sử dụng IIS Express với Visual Studio, Trình quản lý IIS sẽ không hoạt động đối với IIS Express. Thay vào đó, bạn cần mở tệp cấu hình này từ% userprofile% \ documents \ IISExpress \ config \ applicationhost.cấu hình và chèn

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

cùng với tất cả các loại mime được xác định trước khác.

0

Tôi không gặp vấn đề tương tự nhưng đối với tôi (Windows Server 2003 IIS 6) ứng dụng loại MIME/json không hoạt động. Tôi sử dụng text/plain và làm việc hoàn hảo (Bạn không cần phải khởi động lại máy chủ)

0

Để giải quyết vấn đề này với một Azure App Dịch vụ:

Sử dụng FTP hoặc bảng điều khiển Kudu để thêm tập tin này một cấp trên 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> 

Sau đó, dưới cài đặt ứng dụng trong Cổng Azure, thêm một ánh xạ Handler:

.json  C:\WINDOWS\system32\inetsrv\asp.dll 
0
  1. Đến II

  2. Chọn Website

  3. Double Click Mime Type Biểu tượng dưới IIS

  4. Bấm Add Link ở phía bên tay phải

  5. Tên File Extension =. json Loại Mime = ứng dụng/json

  6. Nhấp vào Ok.

Tôi hy vọng vấn đề của bạn là giải quyết

Các vấn đề liên quan