gpt4 book ai didi

javascript - 无效的 JSON 语法和 $.getJSON

转载 作者:行者123 更新时间:2023-11-30 08:55:54 25 4
gpt4 key购买 nike

我有一个包含以下内容的 JSON 文件 my.json:

{   
title: "My Title",
}

还有一个 jQuery 片段来读取它:

var reading_file = $.getJSON('my.json', function (data) {
alert('Success.');
}

回调中的 alert() 永远不会被调用,因为 JSON 文件中存在错误,即 title 未包装为字符串,如 “标题”

在浏览器 (Chrome) 上运行时,这不会引发错误或任何错误迹象。具体来说,my.json 已正确检索(状态代码:200),尽管 reading_file.state() 始终是 pending

我的问题:

  1. 捕获此类错误(即无效的 JSON 数据/语法)的好方法是什么?
  2. function (data) { alert ... } 回调中,this 指的是什么?

谢谢。

最佳答案

来自docs

In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown

您将使用错误处理程序来捕获错误。有点像

var reading_file = $.getJSON('my.json', function (data) {
alert('Success.');
}).error(function(jqXHR, textStatus, errorThrown) {
alert("Stop! Error time!");
});

更新

Ian 所述, success 回调上下文中的 this 不是 Ajax 事件。它似乎是传递给 $.ajax() 的配置对象。

关于javascript - 无效的 JSON 语法和 $.getJSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597300/

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