ReactJS 返回解析器错误语法错误:在 AJAX 调用 JAVA servlet 后出现意外的标记 a
ReactJS returns parsererror SyntaxError: Unexpected token a after AJAX call to JAVA servlet
我正在尝试完成ReactJS教程,但出现此错误"解析器错误语法错误:意外的令牌a"。
我有带有get和post方法的java servlet,我用下一个json发送响应:
"[{"author": "Pete Hunt", "text": "This is one comment"}, {"author": "Jordan Walke", "text": "This is another comment"}]"
我也试过这个 {"作者": "皮特·亨特", "文本": "这是一条评论"}, {"作者": "乔丹·沃克", "文本": "这是另一条评论"}
我看不出哪里有问题。对我来说,看起来我在 ReactJS 中错过了一些东西
UPD 我的 servlet 响应代码。我正在使用 gson 库。
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
ModelObject obj = new ModelObject();
obj.setAuthor("Pete Hunt");
obj.setText("This is one comment");
ModelObject obj2 = new ModelObject();
obj2.setAuthor("Jordan Walke");
obj2.setText("This is *another* comment");
List<ModelObject> objList = new ArrayList<ModelObject>();
objList.add(obj);
objList.add(obj2);
Gson gson = new Gson();
PrintWriter out = response.getWriter();
out.write(gson.toJson(objList));
out.close();
out.flush()
当您尝试解析用冗余双引号括起来的字符串时,如下所示:
JSON.parse('"[{"author": "Pete Hunt", "text": "This is one comment"}]"');
而不是:
JSON.parse(' [{"author": "Pete Hunt", "text": "This is one comment"}] ');
然后你会得到SyntaxError: Unexpected token a
,因为它尝试将"[{"
解析为字符串,并且不希望接下来a
获取字符。
您必须显示打印 JSON 字符串的确切命令,但您肯定会在某处获得额外的双引号,如果您将"author"
更改为"X"
Unexpected token a
,这将变得Unexpected token X
。
您可能正在做的(尽管这只是我的猜测,因为您没有显示任何实际代码)是手动构建 JSON 字符串,这绝不是一个好主意。你应该使用像Google Gson或json-io这样的库来为你做这件事。
另请参阅:Java JSON 序列化 - 最佳实践问题。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- JavaScriptajax请求servlet调用错误回调函数
- getJSON 和 servlet 通信错误
- 错误管理器:从标准Java到Servlet
- servlet不工作(也有空指针错误),servlet不能't从javascript中获取值
- ReactJS 返回解析器错误语法错误:在 AJAX 调用 JAVA servlet 后出现意外的标记 a
- 使用 servlet 在登录页面本身中显示密码错误消息
- 使用dojo上传器到servlet的错误
- 如何从jquery ajax传递值到servlet,我在传递url时面临404错误
- 使用ajax将参数传递到servlet时获取错误对象