JavaScript-用post跨域提交数据后如何获得返回的数据呢?

发布于 2016-12-08 13:16:56 字数 978 浏览 1167 评论 2

post跨域提交数据可以采用下面的方法:

使用隐藏的iframe来提交表单
1,在页面中嵌入一个iframe,把iframe的宽和高设置为0
2.在iframe的里面里设置一个from的表单,表单的内容就是真正要提交的表单内容。
3.当点击按钮的时候是iframe里的表单提交。

<form id="form2" name="form2" method="post" action="a,jsp" enctype="multipart/form-data">
<input name="option_13412" id="option_13412" type="text"/>
<input name="option_13413" id="option_13413" type="text"/>
<input name="option_13414" id="option_13414" type="text"/>
<input name="option_13415" id="option_13415" type="text"/>
</form>
使用jquery来啊操作iframe中的表单元素
$(window.frames["iframe1"].document).find("#option_13412").val(name);
$(window.frames["iframe1"].document).find("#option_13413").val(phone);
$(window.frames["iframe1"].document).find("#option_13415").val(content);
通过按钮来提交iframe里的表单
$(window.frames["iframe1"].document).find("#form2").submit();

这种方法可以跨域提交数据了,问题是如何获取返回的数据呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灵芸 2017-07-05 15:50:40

用ajax的POST提交数据,再获取处理页面的输出,就可以得到数据了
另外,一定要用POST提交吗?
可以用GET方式通过传值的方式提交,远程打开URL,再获取页面返回
例如:test.php?a=xx&b=xx

甜柠檬 2017-03-23 06:55:22

你post提交的时候加个隐藏变量一起post到服务器

<input type="hidden" name="returl" id="returl" value="callback.html">

服务器逻辑处理完后,判定returl是否不为空,不为空把需要返回的参数返回,类似这样:
callback.html?param1=1¶m2=2.....

然后在你callback.html进行获取就可以了,给你写了个callback.html处理例子:

<script type="text/javascript">

if (location.search.length > 1) {
var paramString = location.search;
var paramsArray = paramString.substr(1,paramString.length).split('&');
var paramsObj = {'retcode' : '', 'retmsg' : ''};
var p;
for (var i = 0; i < paramsArray.length; i++) {
p = paramsArray[i].split('=');
paramsObj[p[0]] = p[1];
}
parent.iframeCallback(paramsObj.retcode, paramsObj.retmsg);
}
</script>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文