我对JavaScript并不了解,但是我很熟悉导航和编写自己的代码。
我花了很多时间试图找出我在HTTP请求中遇到的问题,直到最近才意识到这可能是导致此问题的其他特定脚本。
看起来好像是React JS。
我对此并不熟悉。 (我确实进行了查找,并搜索了很多不冲突的选项)
基本上,从我执行“ XMLHttpRequest.prototype.open”以监视传入的HTTP请求的那一刻起,我所有的脚本似乎都通过了React JS文件。
之所以这样,是因为我正在浏览器的控制台中记录脚本的步骤和结果,并且从那时起,它们都被归为“ commons-##########。js”我运行XMLHttpRequest.prototype。
我在commons-##########。js文件的标题中看到了这一点:
/** @license React v16.4.1
* react-dom.production.min.js
*
* Copyright (c) 2013-present, Facebook, Inc.
问题在于它似乎正在影响我自己的脚本无法正常运行。
有人知道为什么会发生这种情况,以及如何解决? 我希望我的JS脚本能够在不受React JS干扰的情况下运行。
(这不是我自己的网站,而是我经常用于商业的网站。所做的修改是为了帮助我,没有恶意。)
谢谢。
请注意,我知道突出显示的注释部分不会影响我的代码。我只是为了解释为什么我认为这是导致问题的React JS脚本。
这是控制台中的实际错误(部分错误):
Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at XMLHttpRequest.<anonymous> (<anonymous>:122:29)
at XMLHttpRequest.a (commons-9702d5b….js:34)
(anonymous) @ VM14804:122
a @ commons-9702d5b….js:34
XMLHttpRequest.send (async)
XMLHttpRequest.send @ VM14804:70
(anonymous) @ commons-9702d5b….js:34
(anonymous) @ commons-9702d5b….js:34
我已经尝试了许多方法,但我看不到为什么无法JSON解析响应或执行其他许多操作的任何问题。 关于该代码的某些事情正在干扰我自己的代码。
JS脚本是一个冗长且缩小的文件,因此很难确定单独的令人讨厌的代码部分。
答案 0 :(得分:1)
我确定99.99%的问题不在于React。 commons-#.js
文件是您的脚本与您正在使用的任何第三方库(例如React)捆绑到一个文件中以便从Web服务器高效加载的结果-这是标准做法,几乎不会引起任何问题。您在文件顶部看到的/** @license React v16.4.1
注释仅仅是因为捆绑过程已配置为在输出中保留许可证信息。
答案 1 :(得分:0)
问题是由从服务器以错误的形式接收到的JSON响应或转换不正确引起的。
JSON中位置1处的意外令牌o
错误表示[object ...]
字符串(将对象强制转换为字符串的结果)已传递给JSON.parse
。未知此错误的来源。可以在devtools的“网络”标签中检查 XHR 请求,以识别问题是否由错误的响应引起,因此可以将其报告给API所有者。
问题不是由React引起的。 React本身不能做任何事情,它是 UI 库。它不以任何方式使用XMLHttpRequest
。该错误是由同时使用React和XHR的某些代码引起的。可以在堆栈的这一部分中对其进行调试:
at XMLHttpRequest.<anonymous> (<anonymous>:122:29)
at XMLHttpRequest.a (commons-9702d5b….js:34)
(anonymous) @ VM14804:122
此问题需要由代码所属的一方解决-网站所有者,其他浏览器扩展程序,您使用的第三方组件等。