【问题标题】:How to use iframe to (cross-domain) post request ?如何使用 iframe (跨域)发布请求?
【发布时间】:2011-10-28 04:49:32
【问题描述】:

我想做一个发布跨域请求,我使用一个针对 iframe 的表单来提交请求。

var iframe = document.createElement("iframe");

var uniqueString = "CHANGE_THIS_TO_SOME_UNIQUE_STRING";

document.body.appendChild(iframe);

iframe.style.display = "none";

iframe.contentWindow.name = uniqueString;


var form = document.createElement("form");

form.target = uniqueString;

form.action = myUrl;

form.method = "POST";


// repeat for each parameter

var input = document.createElement("input");

input.type = "hidden";

input.name = "setting";

input.value = params;

form.appendChild(input);

document.body.appendChild(form);

form.submit();

iframe.onload = iframe.onreadystatechange = function(){

if(this.readyState && this.readyState!="complete") return ;

else{                                                                            
       alert("haha");                                                
}
};

Chrome 显示 iframe 已从远程 url 接收到返回的数据,但我无法使用 Javascript 获取 iframe 内容?你们有什么建议或解决方案吗?

【问题讨论】:

标签: javascript iframe cross-domain


【解决方案1】:

您应该使用 GUID 向表单添加一个参数。那里的服务器应该在会话中保存带有特定答案的 GUID。 之后,您通过 JSONP 使用您在服务器中使用的 GUID 发送您调用服务器的表单,服务器应返回它在会话中保存的 asnwers。

【讨论】:

  • 无法得到你。你是什​​么意思?我们想通过 iframe 发布数据。 Jsonp 不支持 post 请求。它只用于获取
猜你喜欢
  • 2018-03-13
  • 2015-04-16
  • 2010-11-13
  • 2016-07-20
  • 2018-10-28
  • 2015-04-22
  • 2014-10-16
  • 2012-12-22
  • 1970-01-01
相关资源
最近更新 更多