首页 > 解决方案 > JSON输入问题的意外结束只有chrome

问题描述

我通过以下步骤使用 postMessage 在本机 webView 中呈现 HTML 页面:

  1. 请求令牌
  2. 在窗口加载时添加“loginAction”参数
  3. addEventListener 并显示响应
  4. 转换成一个对象(问题在这里)
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 中

标签: javascriptreactjsapirestreact-native

解决方案


推荐阅读