JavaScript-用post跨域提交数据后如何获得返回的数据呢?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用ajax的POST提交数据,再获取处理页面的输出,就可以得到数据了
另外,一定要用POST提交吗?
可以用GET方式通过传值的方式提交,远程打开URL,再获取页面返回
例如:test.php?a=xx&b=xx
你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>