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

前端之家收集整理的这篇文章主要介绍了jquery – 使用位于App_Data中的静态.json文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的ASP.NET MVC 4项目中,我的App_Data文件夹中有一个.json文件,其中包含我要加载到D3.js的地理数据.

到目前为止,我的工作方法是让jQuery对某个Controller执行AJAX调用,返回一个JsonResult – 并且成功时,将JSON存储在一些加载到D3中的Javascript变量中.这一次,我想跳过控制器并直接从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工作,但仍然是404s.
> Adding mimeMap info to web.config也没有帮助.

我的问题是:是否可以使用存储在App_Data(或内容目录)中的JSON文件,只使用Javascript / 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");
   });
});

快乐编码享受

原文链接:https://www.f2er.com/jquery/176577.html

猜你在找的jQuery相关文章