[英]Loading JSON data from a file
这可能是任何问题的重复,但是我无法找到解决问题的方法。
我正在构建一个MVC4应用程序,其中我想使用AJAX从另一个JavaScript文件中加载JSON数据。
为此,我尝试使用$.getJSON()
, $.ajax()
, $.get()
其他类似的函数加载数据。 这是一个简单的AJAX调用,没什么花哨的! 最终,我意识到我需要对该控制器/动作进行此调用,以加载JSON并将其返回。 这个解决方案对我有用。
$.ajax({
type: "GET",
url: "/controller/action", // <-- How can I refer to the JSON file directly here?
contentType: "application/json; charset=utf-8",
dataType: "application/json",
success: function(data) {
},
error: function(err) {
}
});
我想知道是否还有其他方法可以在视图本身中使用JavaScript加载此文件而无需调用任何控制器/动作?
注意:该文件是.json文件,而不是.js文件。 我不想在任何
<script>
标记中包含文件!
这里的问题是,您在web.config中没有指定json类型的mime类型,并且IIS / IIS Express返回404错误。
尝试像这样修改您的web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
您还需要将dataType更改为json,而不是application / json:
$.ajax({
type: "GET",
url: "Content/your.json",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
},
error: function (err) {
}
});
希望这可以帮助。
要引用JSON文件,可以在Javascript
使用Url.Content()
方法:
$.ajax({
type: "GET",
url: "@Url.Content("~/Content/your.json")",
contentType: "application/json; charset=utf-8",
dataType: "application/json",
success: function (data) {
},
error: function (err) {
}
});
在这种情况下,我在Content
文件夹中有一个your.json
文件。
希望能帮助到你 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.