gpt4 book ai didi

jquery - 使用位于 App_Data 中的静态 .json 文件?

转载 作者:行者123 更新时间:2023-12-03 22:46:02 24 4
gpt4 key购买 nike

在我的 ASP.NET MVC 4 项目中,我的 App_Data 文件夹中有一个 .json 文件,其中包含我想要加载到 D3.js 中的地理数据。

到目前为止,我的工作方法是让 jQuery 对某个 Controller 执行 AJAX 调用,该 Controller 返回 JsonResult - 成功后,将 JSON 存储在某个加载到 D3 中的 Javascript 变量中。这一次,我想跳过 Controller 并直接从 App_Data 文件夹请求静态 .json 文件。

我尝试使用 var url = "@Url.Content("~/App_Data/example.json")"; 获取 .json 的相对路径,但是 Javascript 调试器用很多奇怪的正则表达式错误。

我还尝试将文件放入 Content 文件夹中,看看目录名称是否有所不同。

  • var path = "@Url.Content("~/Content/example.json")"; 结果

    NetworkError: 404 Not Found - localhost:xxxxx/Content/u.json

  • var path = @Url.Content("~/Content/example.json"); 结果

    SyntaxError: invalid regular expression flag u: var path = /Content/example.json;

  • var json = $.getJSON("../Content/example.json") 似乎将请求发送到正确的目录,但返回 404 错误。此外,使用 Razor 语法指向相对 URL 是可行的,但仍然是 404。
  • Adding mimeMap info to web.config也没有帮助。

我的问题是:是否可以仅使用 Javascript 来处理存储在 App_Data(或 Content 目录)中的 JSON 文件/jQuery?在 ASP.NET 中,只有一种方法可以做到这一点吗?有没有更好的方法可以采取?

最佳答案

要首先在 Visual Studio 中读取 json 文件,您需要在 web.config 中使用以下内容

您可以在任何地方使用它

<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="json" mimeType="application/json" />
</staticContent>
</system.webServer>
-------All other Settings---
----Your all other setting------
</configuration>

由于安全限制,无法访问 App_Data,但您可以将文件放置在应用程序中的其他位置。尝试使用 jquery 函数 getJSON() 来执行此操作,下面是一个示例。

      $("document").ready(function() {

var jqxhr = $.getJSON("/Content/usa.json", function () {
console.log("success");
})
.done(function () {
console.log("second success");
})
.fail(function () {
console.log("error");
})
.always(function () {
console.log("complete");
});
});

快乐编码享受

关于jquery - 使用位于 App_Data 中的静态 .json 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25162281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com