请问js的window.postMessage怎么做到往自己的不同窗口里面发送数据啊?最好能给我一个能跑的实例

JavaScript016

请问js的window.postMessage怎么做到往自己的不同窗口里面发送数据啊?最好能给我一个能跑的实例,第1张

父窗口

    <iframe src="test2.html"></iframe>

    <script>

      function receiveMessage(e) {

        alert(e.data)

      }

      window.addEventListener("message", receiveMessage, false)

    </script>

子窗口

    <input type="text" value="send" id="input" />

    <input type="button" value="send" id="button" />

    <script>

      document.getElementById('button').onclick = function () {

          top.postMessage(document.getElementById('input').value, '*')

      }

    </script>

这种情况有可能是数据类型不对。

一般情况下,前端ajax请求最好指定datatype,后端也需要约定某种格式,这样传输过程比较明确。

可以在控制台中检查数据是否正常返回,是否是直接返回网页。前端也可以对ajax内部进行调试看看是哪里的问题。