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

jQuery .getJSON Firefox 3语法错误未定义

欧阳安阳
2023-03-14
问题内容

运行此代码时,我在Firefox 3中收到语法错误(未定义的第1行test.js)。警报正常运行(显示“工作”),但我不知道为什么收到语法错误。

jQuery代码:

$.getJSON("json/test.js", function(data) {
    alert(data[0].test);
});

test.js:

[{"test": "work"}]

有任何想法吗?我正在为更大的.js文件进行此操作,但已将其范围缩小为此代码。疯狂的是,如果我将本地文件替换为远程路径,则不会出现语法错误(这是一个示例):

http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?


问题答案:

我找到了解决该错误的方法

$.ajaxSetup({'beforeSend': function(xhr){
    if (xhr.overrideMimeType)
        xhr.overrideMimeType("text/plain");
    }
});

现在说明:在firefox 3中(我假设只有firefox 3),每个具有mime类型的“ text / xml”文件都将被解析并进行语法检查。如果以“
[”开头的JSON将引发语法错误,如果以“ {”开头的则为“格式错误”(我的翻译是“ nicht
wohlgeformt”)。如果我从本地脚本访问json文件-此进程中不包括服务器-我必须重写mime-type …也许您为该文件设置了MIME-
Type错误…


但是,添加此小段代码将使您免于出错消息

编辑: 在jquery 1.5.1或更高版本中,您可以使用mimeType选项来实现相同的效果。要将其设置为所有请求的默认值,请使用

$.ajaxSetup({ mimeType: "text/plain" });

您也可以直接将其与$ .ajax一起使用,即,您的呼叫会转换为

$.ajax({
    url: "json/test.js",
    dataType: "json",
    mimeType: "textPlain",
    success: function(data){
        alert(data[0].test);
    } });


 类似资料:
  • 所以,这个问题一直困扰着我,我似乎无法解决它。出现的错误是: 未捕获错误:语法错误,无法识别的表达式:[{“类型”:“标题”,“子类型”:“h1”,“标签”:“另一个测试表单”},{“类型”:“复选框组”,“标签”:“复选框组”,“名称”:“复选框组-1497353080484”,“值”:[{“标签”:“选项1”,“值”:“选项1”,“选定的”:true}]},{“类型”:“标题”,“子类型”:“

  • 我用这些类创建了一个登录名,但给了我一个错误 (!)致命错误:未捕获的错误:调用未定义的方法UserController::c在第17行的C:\xampp\htdocs\progetto个性\控制器\User Controller.php ( ! ) 错误:调用C:\xampp\htdocs\progetOpersonale\controllers\User Controller中未定义的方法Us

  • 致命错误:未捕获错误:调用未定义的方法mysqli::execute()在C:\xampp\htdocs\search\index.php:58堆栈跟踪:#0{main}抛出在第58行的C:\xampp\htdocs\search\index.php 这是第58行 我试图创建一个简单的实时搜索。

  • 我试图用XAMPP和sql Server做一个简单的连接。但是当我试图输入数据或连接到数据库时,我会遇到这个错误。错误是什么?我的项目急需它。我不知道为什么php第9行是错误。 致命错误:未捕获错误:调用C:\xampp\htdocs\last1\new\register.php:19中的未定义方法mysqli::error() 请帮帮我:(谢谢你们;*

  • 问题内容: 我正在尝试根据指南制作一个简单的Android应用程序。我正在使用下面的代码,但它给了我几个错误。尝试覆盖该方法时抱怨。确切的错误如下。谁能解释我在这里犯什么错误? 确切的错误: 问题答案: 您应该从Activity类扩展。因为您只是在创建新类,而没有任何可以从父类覆盖的方法。

  • 我正在学习Ruby,我有一个无法理解的bug。我有一个方法,它接受一个字符串(行)数组,并删除所有行,直到包含模式的某一行。该方法如下所示: 这工作正常,生成的字符串(行)正确显示在我正在生成的网页上。 此外,我想删除该模式后面的所有非空行。我修改了方法如下: 令人惊讶的是(至少对我来说)这不起作用。在生成的网页上,我看到的不是内容,而是错误消息:Liquid error:nil类的未定义方法“[