如何将数据发布到JsonP?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

是否可以将数据发布到JsonP?或者所有数据都必须作为GET请求传递给查询字符串?

我有很多数据需要发送到服务,跨域,并且它太大而无法通过查询字符串发送

有什么方法可以解决这个问题?

提问于
用户回答回答于

POST由于同一起源策略的(相当明智的)限制,不可能对另一个域上的服务执行异步操作。JSON-P仅适用你,因为可以将<script>标记插入到DOM中,并且它们可以指向任何地方。

当然,可以在另一个域上创建常规表单POST的操作页面。

如果你愿意花费很多精力插入隐藏的内容并且使用它们的属性,那么这里有一些有趣的黑客攻击<iframe>

用户回答回答于

如果你需要发送大量的跨域数据。我通常会创建一个服务,可以分两步调用:

  1. 首先,客户进行FORM提交(发布允许的跨域)。该服务将输入存储在服务器上的会话中(使用GUID作为密钥)。(客户端创建一个GUID并将其作为输入的一部分发送)
  2. 然后客户端做一个正常的脚本注入(JSONP)作为你使用FORM表单中使用的GUID的参数。该服务处理来自会话的输入并以正常的JSONP方式返回数据。在此之后,会议被销毁。

这当然依赖于你编写服务器后端。

扫码关注云+社区