使用IIS打开本地站点时,使用Ajax获取JSON文件无效的解决方法
博主使用了如下两种方法来获取JSON文件(本质上都是Ajax),但是都报404.3错误,经过网上查找解决方案使用以下方法解决。
原解决方案说明地址:https://stackoverflow.com/questions/15944311/error-404-3-not-found-for-json-file
JavaScript代码如下:
1 $.ajax({ 2 async: false, 3 type: "GET", 4 url: lang + ".json", 5 dataType: "json", 6 success: function (msg) { 7 alert("success"); 8 }, 9 error: function (msg) { 10 alert("failed!",msg); 11 }, 12 });
直接使用ajax
或者:
1 $.getJSON(lang + ".json", function (data) { 2 alert("success"); 3 });
使用getJSON方法
问题原因:
IIS的默认MIME配置中不含json格式,所以无法识别。
解决方法(一下三个方法本人是按照顺序执行的,直到执行了第三个方法才解决问题,但不排除前两个方法是必须执行的,所以这里也记录下来):
1.打开iis管理器,双击MIME类型,点击添加,如下:
添加的MIME配置如下:
2.打开处理映射程序点击添加脚本映射
添加的脚本映射配置如下图:
点击请求限制,配置如下图:
重启IIS。
3.在项目的web.config文件中添加以下配置。
1 <system.webServer> 2 <staticContent> 3 <mimeMap fileExtension=".json" mimeType="application/json" /> 4 </staticContent> 5 </system.webServer>
View Code
欢迎交流。