javascript - JSON输入问题的意外结束只有chrome
问题描述
我通过以下步骤使用 postMessage 在本机 webView 中呈现 HTML 页面:
- 请求令牌
- 在窗口加载时添加“loginAction”参数
- addEventListener 并显示响应
- 转换成一个对象(问题在这里)
let respAPI = {
"loginToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlFUQXhRa1l5UWpNNVF6RTVRMEU0TkVFM09EaEZRakUxT0RVNVFrRkVOMFF5TWpJeFJqUkRRUSJ9",
};
window.addEventListener(
"DOMContentLoaded",
function () {
respAPI.loginAction = "loginKey"; // add one parameter
(window["ReactNativeWebView"] || window).postMessage(
JSON.stringify(respAPI)
);
window.addEventListener("message", receiveMessage, false); // window event listener
function receiveMessage(event) {
let test = JSON.parse(event.data); // VM5411:1 Uncaught SyntaxError: Unexpected end of JSON input
console.log(test);
}
},
true
);
此 SyntaxError 错误仅出现在 google chrome 中
解决方案
推荐阅读
- html - Magento 2 事务性电子邮件错误,版权修改
- vue.js - Vuex 状态更新中断 v-for 反应性
- laravel - 如何在 vuejs 指令中使用 Laravel Blade 语法?
- r - 18 位时间戳到常规日期格式
- twilio - 如何在 Twilio 中正确结束通话(使用 React)?
- css - 使用带有 mixins 的 postcss 条件
- flutter - 参数类型'Map
' 不能分配给参数类型 'QuerySnapshot - javascript - 当其中一个选项卡中有活动时,使所有选项卡的会话保持活动状态
- cmake - CMake 不会为源文件生成代码覆盖率报告
- ios - 为什么 Expo Location.getBackgroundPermssionsAsync() 函数对 IOS 后台权限请求返回“拒绝”?