一尘不染

未捕获到的SyntaxError:JSON中位置0处的意外令牌u

json

仅在结帐时和在各个产品页面上,我在控制台日志中收到以下错误:

VM35594:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at run (layout.min.js:9)
    at app.min.js:1
    at main.min.js:2
    at Object.execCb (require.min.js:112)
    at Module.check (require.min.js:56)
    at Module.<anonymous> (require.min.js:72)
    at require.min.js:11
    at require.min.js:74
    at each (require.min.js:3)

我正在使用一页结帐扩展程序,但是当我禁用该功能时,该错误仍然会显示。我认为这可能与产品页面上的评论有关(因为我将评论移出了选项卡),但是撤消该更改并不能解决产品页面上的错误。


阅读 507

收藏
2020-07-27

共1个答案

一尘不染

在控制台中尝试:

JSON.parse(undefined)

这是您将得到的:

Uncaught SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at <anonymous>:1:6

换句话说,您的应用正在尝试解析undefined,这是无效的JSON。

有两个常见原因。第一个是您可能引用的是不存在的属性(如果不是在严格模式下,则甚至是不存在的变量)。

window.foobar = '{"some":"data"}';
JSON.parse(window.foobarn)  // oops, misspelled!

第二个常见原因是首先无法接收JSON,这可能是由于客户端脚本忽略了错误并在不应该发送错误时发送了请求。

确保服务器端和客户端脚本都在严格模式下运行,并使用ESLint对其进行整理。这将使您非常有信心没有错别字。

2020-07-27