当前位置: 首页 > 面试题库 >

通过jQuery.ajax在Firefox中加载客户端JSON时出现“格式错误”警告

高迪
2023-03-14
问题内容

我正在使用jQuery的ajax方法来获取静态JSON文件。数据是从本地文件系统加载的,因此没有服务器,因此无法更改MIME类型。

我相信我的JSON格式正确:

{
    "_": ["appl", "goog", "yhoo", "vz", "t"]
}

我的ajax调用很简单:

$.ajax({
    url: 'data/tickers.json', 
    dataType: 'json',
    async: true,
    data: null,
    success: function(data, textStatus, request) {
        callback(data);
    }
});

如果我用文档标签包装JSON:

<document>JSON data</document>

正如上面提到的另一个Stack Overflow问题中提到的那样,ajax调用失败,并出现解析错误。

因此:在读取客户端JSON文件时,有没有一种方法可以避免Firefox警告?


问题答案:

有时不能使用HTTP服务器,这可能意味着不会为某些文件自动提供MIME类型。改编自彼得·霍夫曼(Peter Hoffman)的jQuery.getJSON Firefox 3语法错误未定义答案,在进行任何$ .getJSON()调用之前,请使用以下代码:

$.ajaxSetup({beforeSend: function(xhr){
  if (xhr.overrideMimeType)
  {
    xhr.overrideMimeType("application/json");
  }
}
});

或者,如果您使用的是$ .ajax():

$.ajax({
  url: url,
  beforeSend: function(xhr){
    if (xhr.overrideMimeType)
    {
      xhr.overrideMimeType("application/json");
    }
  },
  dataType: 'json',
  data: data,
  success: callback
});


 类似资料:
  • 在下面的代码中,我正在执行以获得响应。 当我执行这段代码时,我得到的错误是:。 我尝试执行查看第一个字符是什么,根据一些文章,它是,这是“{”的正确代码。 更新的代码:这是我使用更新的代码。我仍然得到同样的错误

  • 问题内容: 我需要解析一些HTML文件,但是它们的格式不正确,PHP向其输出警告。我想以编程方式避免这种调试/警告行为。请指教。谢谢! 码: 这个: 可以禁止显示警告,但是如何以编程方式捕获这些警告? 问题答案: 您可以使用安装临时错误处理程序 用法:

  • 问题内容: 我要疯了: 已安装Hadoop / Hbase,所有正在运行; 伪分布式环境。 HBase的壳 正在运行并提出运行“列表”的正确结果;并且 通过红宝石和节俭连接时,一切正常。我们正在添加数据,它正在进入系统,我们可以查询/扫描它。一切似乎都很好。 但是,使用Java连接时: 我一直在努力寻找原因,但我真的一点头也不知道。一切似乎都已正确安装。 看起来也不错。 如果您键入任何内容,则连接

  • 我正在尝试对客户端凭据流进行身份验证,但一直返回错误400。我查看了可用的API,但看不出我做错了什么。如果有人能给我一个正确的方向,那太棒了。谢谢

  • 问题内容: 我在服务器端有一个Struts2操作,用于文件下载。 但是,当我使用jQuery调用操作时: 在Firebug中,我看到数据是通过 Binary流 检索的。我想知道如何打开 文件下载窗口 ,用户可以用它在本地保存文件吗? 问题答案: 这是我现在建议的一些注意事项: 需要相对较新的浏览器 如果预期文件 很大,则 您可能应该执行与原始方法(iframe和cookie)类似的操作,因为以下某

  • 我在wicket中使用wicket原型编写了一个wicket应用程序。阿帕奇。但当我添加代码时,它不接受我的页面,并引发运行时异常: 最后一个原因:班级组织。阿帕奇。维克特。一场DefaultPageFactory无法访问ece类的成员。东南方。面条用户界面。登录。带有修饰符“”的登录页面 WicketMessage:无法使用构造函数ece.se.noodle.ui.login.LoginPage