问题标签 [unexpectendoffile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

node.js - NodeJS - 承诺回调响应 [SyntaxError: Unexpected end of input]

我创建了以下 NodeJS 函数。

我遇到的问题是,当我执行以下代码时:

并调用下面的函数,它给了我一个错误:

出现此错误的原因是,在函数 (someFunc1) 成功完成后控件转到impervaCreateIP()时,然后在impervaCreateIP()内部,正在执行以下行(正在等待 REST/API 调用以创建新的操作系统Imperva 系统中的连接 IP)。

正如您在上面看到的,一旦调用 httpHelp(options,data).then(function(fullResponse){ ... } 部分,如果我在下一行之前打印( console.log("anything") ),它就是显示该消息很好。但是,在以下行之后没有打印任何内容,原因:fullResponse [1]没有得到填充或没有得到任何有效值,到下一行以异步方式执行时。这导致程序运行直接进入 .fail(...){ .. } 部分,然后进入 someFunc3 (它没有做任何事情,因为在 impervaCreateIP 期间捕获的异常并最终到达 .catch(...){ .. } 部分和做我在那里做的任何事情。

因此,程序在.parse处出错字符,即它无法解析变量结果的任何内容,因为fullResponse[1]值仍设置为“”(空白/NULL)并且尚未填充。

如何,我可以让我的程序等待,即直到 httpHelp(..).then(function(fullResponse) {....} 完全完成与 REST/API 调用的工作,它在fullResponse[1中返回一个有效值]

PS:我看到 fullResponse[0].statusCode == 200,所以连接很好。

代码:

在 someFunc1/3 或 ImpervaCreateIP 的情况下, fullResponse(数组值的快照是)。我只显示最后 5 行。我确保两个文件的 head -5 看起来相同,并且 fullResponse[0] 索引值也基本相似:

如果您注意到,someFunc1.ip.fullResponse.json 文件中的第 232 行和第 233 行,第 232 行结束 fullResponse[0],第 233 行开始 fullResponse[1] 值。在我的例子中,假设 someFunc1 是为了找到一个 IP,上面的输出显示,REST/API 返回值 fullResponse[1] 用于使用 Imperva REST/API(其中方法是 GET)查找 IP 的值,其余代码完全相同到 impervaCreateIP()。

如果您注意到 create.ip.fullResponse.json 文件的第 235 行和第 236 行,您会看到第 235 行结束了 fullResponse[0] 数组索引值,第 236 行开始了 fullResponse[1] 的值并具有其中有一个“”(空白/NULL),这意味着,在使用 impervaCreateIP 创建 IP 时,它没有在 fullResponse[1] 数组索引中接收到来自 Imperva REST/API 的有效响应,该索引由

同样, someFunc1(查找 IP)或 impervaCreateIP(创建 IP)之间的唯一主要区别是,除此之外,只有 console.log("...") 消息有所改变:

对于 impervaCreateIP,它设置为:

对于 someFunc1,它设置为:

好的,看起来问题出在我的方法POST / DELETE +当我使用var result = JSON.parse(fullResponse[1])时。

如果我不尝试使用上面提到的 var result / JSON.parse 检查任何内容,我的代码可以正常工作。

所以,我认为我的根本原因是:如果我的 REST/API HTTP 方法是POSTDELETE,由于某种原因没有填充 fullResponse[1] 。如果我使用任何状态检查,例如在 impervaCreateIP(POST 操作)之后在 someFunc3(即方法为 DELETE 的 impervaDeleteSessionID)期间发生的情况,那么我的程序工作正常并且我的错误消息消失了。

但是,我确实想验证 REST 对 ex 的响应:以便我可以捕获 REST 连接是否有效 + 是否由于该用户的权限问题导致创建 IP 操作失败,该用户的凭据用于生成我的 JSESSIONID。只有当它的 POST/DELETE 并且我正在做 JSON.parse(fullResponse[1])

当 HTTP 方法是“POST”或“DELETE”并且我想捕获下面提到的条件时,如何在上面的 NodeJS 代码中获取响应正文?谢谢。

仅供参考:当我在 BASH shell 脚本中尝试相同的 impervaCreateIP NodeJS 逻辑时,我编写了以下代码并且它可以工作!!!因为如果在创建 IP 脚本期间由于该用户凭据的访问问题而出现错误,CURL 命令将返回所有输出的好坏,即带有有效的响应代码。在 NodeJS 代码中要做的就是捕捉“没有权限”错误,如果 USER 没有足够的权限在 Imperva 系统中创建 IP,则可能会出现该错误:

0 投票
1 回答
198 浏览

coffeescript - CoffeeScript 中的输入意外结束

我已经使用画布在 CoffeScript 中开始了一个小游戏。我的问题是这个错误:

我已经重写了很多次,但它仍然不想编译。这是代码:

哦,有人能告诉我这个错误到底是什么意思吗?

先感谢您。

0 投票
2 回答
1070 浏览

php - 出现意外的文件结束错误。语法错误。php

我创建了一个 php 类它给了我语法错误。文件意外结束。当我在 localhost 上进行测试时,它运行良好。但是当我在服务器上测试时,它显示了这个错误。我的服务器在 linux 平台上,我在 windows 上工作。

联系方式.php

错误:

第 128 行是 -

我在 getContacts.php 中使用它

获取联系人.php

我已经浏览了如何解决语法错误链接。我发现没有任何改变要做。我检查了花括号,标签的开始和结束。还检查了是否区分大小写。但不明白这里有什么问题。

任何人都可以帮忙吗?谢谢..

0 投票
0 回答
42 浏览

python - 程序关闭 Python

当我从 IDLE 运行这段代码时,它运行良好。当我从命令行运行 py 文件时,我插入文件名并按enter,程序关闭。为什么会这样?我是否需要在代码中编写某种暂停功能,还是其他?

0 投票
2 回答
157 浏览

java - 删除对象时出现意外的类型错误

我有一个 EnemyVehicle 对象的 ArrayList。它的名字是敌人。当我尝试删除 EnemyVehicle 类的对象时,就像在这个问题中一样,我得到了意外的类型错误:

那是我的代码:

我能做些什么?

0 投票
2 回答
80 浏览

php - 我的网页在我的服务器上很好,但我的本地副本给出了解析器错误

我有一个 PHP 网站,并且索引页面在线显示良好,但是我的 wamp 服务器上运行的本地副本给了我一个解析器错误“解析错误:语法错误,文件意外结束...”

我的本地 PHP 与我的生产相同。5.6

我查看了之前提出的问题PHP 解析/语法错误;以及如何解决它们?它没有提到文件结尾。

这是我的代码:

0 投票
1 回答
941 浏览

php - php在数据库中创建具有未知数量列的html表

我想从 mariadb 数据库创建一个 html 表。我不知道每个数据库表最终会有多少列。

所以我不知道我有多少列,我想出了这个:

问题是表格不会填充超过第一行。

另外我得到了错误

解析错误:语法错误,E:\xampp\htdocs\test.php 中第 58 行的文件意外结束 Blockquote

当我在while循环后输入两个大括号“}}”时,错误消失,它将显示以下内容:

执行:

我不知道为什么浏览器中有大括号,如图所示。

编辑:我编辑线程,因为它被标记为重复 解析和语法错误,尽管我的主要问题是创建列数未知的表。

知道如何解决这个问题吗?感谢你们!

0 投票
0 回答
324 浏览

sql-server - SQL Server 批量插入 CSV 最后一行处理

我一直在寻找这个问题的答案,我很惊讶它似乎并不容易获得。我有大量的 CSV 文件。事实上,超过 100,000 行的最后一行将“报告结束”作为第二列,并且与其余列的列数不同。如果我将 lastrow = 设置为我最后一行的数值,则代码可以正常工作。导入 SQL 表没有问题。否则,我认为它会出现文件错误 5832 的结尾错误。

我不得不编写一个实用程序来处理 CSV 文件,但肯定有更好的答案。有谁知道如何丢弃最后一行?我试过try-catch,错误文件等等似乎没有任何效果。我认为在处理文本文件时,这将是一个常见的要求,但到目前为止似乎并非如此。

0 投票
2 回答
57 浏览

php - Unexpected end of file - i cant find the issue

Im getting the typical unexpected end of file i cant see what I'm missing can someone else please help i've gone code blind

#xA;

I have looked over all of my code but i am pulling my hair out now.. could really do with a fresh pair of eyes having a gander please

0 投票
1 回答
303 浏览

c++ - fread_s 读取错误的字节数

我正在阅读一个集合文件(一个包含 20 个左右的小文件),fread_s并且内容正在以struct. 就像99%的时间它正确读取数据一样,但有一次,在始终相同的位置,它似乎忽略了元素大小参数的字节大小,只读取了 500 个左右的字节,直到它中止并报告feof错误。问题是,它甚至没有将 int 的最后三个字节写入结构。

当我删除检查并让它继续阅读时,它会再次正常阅读,就像什么都没发生一样。

我观察到_Placeholder文件指针中的变量被更改为不同的值,然后又变回来,但我猜这只是eof错误被打包在那里。