首页 新闻 会员 周边

请问各位大佬js的postMessage方法能否发送POST类型的消息?

0
[待解决问题]

我是初学
请问各位大佬js的postMessage方法能否发送POST类型的消息?
如果可以能否说明具体的操作方法,谢谢!

js
Howardzhangdqs的主页 Howardzhangdqs | 菜鸟二级 | 园豆:208
提问于:2021-05-09 22:13
< >
分享
所有回答(1)
1

什么叫Post类型 ?数据没这种格式吧。我猜你是要把Post请求的结果传递过去...
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage
"message
将要发送到其他 window的数据。它将会被结构化克隆算法序列化。这意味着你可以不受什么限制的将数据对象安全的传送给目标窗口而无需自己序列化。"

顾星河 | 园豆:7173 (大侠五级) | 2021-05-10 10:21

抱歉好像是我没说清楚,我是指Request Method能否设置成POST(因为我想实现一个只前端的跨域发送POST消息的demo)
ajax方法可以通过设置type参数将Request Method能否设置成POST,但是无法做到跨域
如果大佬还有什么其他方法能实现这个功能的话我会尝试以下的

支持(0) 反对(0) Howardzhangdqs | 园豆:208 (菜鸟二级) | 2021-05-10 19:16

@Howardzhangdqs: 呃....那啥,postmessage的用法好像不是你那样用喔。他的常规用法应该是窗口之间的跨域通信, a.com这个窗口发送消息到 b.com这个窗口,然后在b窗口进行接收。通俗来讲可以理解为建立在页面基础上的跨域通信。比如a页面里内嵌了一个iframe,iframe里的src和主页面的域名不一致,这就跨域了,那么怎么把a页面的消息发送到内嵌的、不同域的iframe页面呢?通过postmessage就可以实现跨域传递消息。所以这里是要有个页面的(简单粗鲁的这个理解)。
然后你的截图里,我看到是直接调用webapi接口,然后期望跨域.....啊这....好像不太行。
如果你是做webapi跨域的demo,那么实现的方式可以是ajax+jsonp的方式,或者前端代理请求等方式。

支持(1) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2021-05-11 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册