我知道这是一个常见问题,但在获取数据时我不断收到此错误:
SyntaxError: Unexpected token u in JSON at position 1 at JSON.parse ()
这发生在我测试我的完整代码时,所以我进行了测试
res.send(JSON.stringify({"data": "test"}));
Run Code Online (Sandbox Code Playgroud)
在我的客户端,我使用以下代码:
fetch(url) // fetch works
.then(checkStatus) // checks for errors, if none send response text
.then(function (responseText) {
let data = JSON.parse(responseText); // where I'm getting the error
Run Code Online (Sandbox Code Playgroud)
测试值时,我服务器端的所有内容都会打印正确的值。但是,当我使用 console.log 在客户端打印出 responseText 时,我得到了这个:
f text() { [本机代码] }
为什么会调用此错误?通过查看堆栈溢出,我了解到当我尝试解析未定义的字符串时会发生此错误。我在解析之前放置了一个 if 语句来检查字符串是否未定义:
if (responseText === undefined) {
console.log("responseText is undefined");
}
Run Code Online (Sandbox Code Playgroud)
但是它没有输出,那么字符串真的未定义吗?作为旁注,节点是最新的。感谢您的帮助。如果在另一个问题中回答了这个问题,请告诉我。我还没有找到解决这个问题的办法。
编辑:
function checkStatus(response) {
if (response.status >= 200 && response.status < 300) { …Run Code Online (Sandbox Code Playgroud) 我正在做一个24小时.我有下面的代码.我的问题是int[]时间等于[0, 0, 0]并在每次迭代时打印出来.
一些可能对您有帮助的信息.我有Array TimeCounteras [hours, minutes, seconds].reset方法将选择的int值设置为零,保持不变或增加1.嵌套的while循环用于通过时钟.
public static int hours;
public static int minutes;
public static int seconds;
public static int [] TimeCounter = {hours, minutes, seconds};
//End of day
public static void reset(int [] midNight){
hours = 0;
minutes = 0;
seconds = 0;
}
//End of a minute
public static void resetSeconds(int [] endOfMin){
minutes++;
seconds = 0;
}
//End of a Hour
public static void resetMinutes(int [] endOfHour){ …Run Code Online (Sandbox Code Playgroud)