How*_*wli 27 javascript json syntax-error magento2
仅在结帐时和单个产品页面上,我在控制台日志中收到以下错误:
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)
Run Code Online (Sandbox Code Playgroud)
我正在使用单页结帐扩展程序,但是当我禁用时,错误仍然显示.我认为它可能与产品页面上的评论有关(因为我将评论移出选项卡),但撤消该更改并未修复产品页面上的错误.
Set*_*day 85
在控制台中尝试这个:
JSON.parse(undefined)
Run Code Online (Sandbox Code Playgroud)
这是你将得到的:
Uncaught SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at <anonymous>:1:6
Run Code Online (Sandbox Code Playgroud)
换句话说,您的应用正在尝试解析undefined,这是无效的JSON.
这有两个常见原因.第一个是你可能引用了一个不存在的属性(如果不是严格模式,甚至是一个不存在的变量).
window.foobar = '{"some":"data"}';
JSON.parse(window.foobarn) // oops, misspelled!
Run Code Online (Sandbox Code Playgroud)
第二个常见原因是无法首先接收JSON,这可能是由忽略错误的客户端脚本引起的,并且在不应该发送请求时发送请求.
确保服务器端和客户端脚本都以严格模式运行,并使用ESLint对其进行lint.这会让你非常自信没有拼写错误.
正如@Seth Holladay @MinusFour 评论的那样,您正在解析一个undefined变量。在进行解析之前
尝试添加if条件。
if (typeof test1 !== 'undefined') {
test2 = JSON.parse(test1);
}
注意:这只是一个undefined案例检查。任何其他解析问题仍然需要处理。
| 归档时间: |
|
| 查看次数: |
63683 次 |
| 最近记录: |