Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript postMessage vs post_Javascript_Angular - Fatal编程技术网

Javascript postMessage vs post

Javascript postMessage vs post,javascript,angular,Javascript,Angular,在一个站点中,我们可以使用以下代码通过打开新选项卡导航到不同的域: <form action="http://www.aka.com" method="post" target="_blank"> <input name="firstName" type="text"> <button >Test me </button> </form> 考验我 最近,我一直在使用window.open和postMessage方法在

在一个站点中,我们可以使用以下代码通过打开新选项卡导航到不同的域:

<form action="http://www.aka.com" method="post" target="_blank">
   <input name="firstName" type="text">
    <button >Test me </button>
</form>

考验我
最近,我一直在使用
window.open
postMessage
方法在不同域之间进行通信。我有以下疑问:

  • 我可以使用上面介绍的
    post
    方法将数据发送到目标窗口(aka.com)吗
  • 如果aka.com是一个角度应用程序,我如何获取发送的数据(例如
    firstName
    的值)
  • 如上文所述,我是否可以使用表单和post方法将
    postMessage
    替换为类似
我可以使用上面介绍的post方法将数据发送到目标窗口(aka.com)吗

没有

您可以将数据发送到URL,并在新窗口中显示对该URL请求的响应

如果aka.com是Angular应用程序,我如何获取发送的数据(例如firstName的值)

当生成加载JS的页面时,
aka.com
上的服务器端代码必须将其提供给Angular代码

我可以用类似于使用表单和post方法的东西来替换postMessage吗

没有方法上的重大改变

我可以使用上面介绍的post方法将数据发送到目标窗口(aka.com)吗

我可以用类似于使用表单和post方法的东西来替换postMessage吗

window.postMessage()和form-POST方法本质上是不同的

表单POST用于向目标URL发送HTTP POST请求。您要做的是将数据发送到新窗口

您不应该使用表单发送数据,而应该使用(单击)处理程序并手动执行

如果aka.com是Angular应用程序,我如何获取发送的数据(例如firstName的值)


由于aka.com是一个Angular应用程序,它可能不知道何时检查窗口数据,除非您全局侦听“消息”事件。一种方法是将数据发送到Angular应用程序中的特定路由,以便它知道“当Angular应用程序路由到此url时,侦听窗口数据,基本上设置
window.addEventListener(“消息”,receiveMessage,false)

您是否尝试过这样做?其他域必须侦听消息并读取发送的数据。