虚拟表单提交模拟ajax请求

前端开发人员经常会遇到ajax请求出现跨域问题,比如做单点登录。结合本人开发经验推荐一方法——虚拟表单提交,解决此类问题。此方法的特点是简单易懂!好了,直接上干货!
function formCommit(){
var formobj;
// window.top.open(url,"_blank");
$.ajax({
type: 'post',
dataType : 'jsonp',
url: '某个具体系统的url',
success:function(data){
// 虚拟化一个表单,放在一个虚拟化的iframe中,后提交
formobj = $("<form style='display:none' id='formMap' target='_self'  action='某个具体系统的url' method='post'><input name='username' value='用户名'/><input name='password' value='密码'/><input name='jsonp' value='true'/><input name='token' value='"+data+"'/></form>");
// 虚拟化一个iframe,承载虚拟化表单
var tempIframe = $("<iframe style='display:none' src='登录页面统一路径下任何一个jsp或html文件' id='tempIframe' name='tempIframe' />");
// body中添加虚拟化的iframe
$("body:eq(0)").append(tempIframe);
            // 设置iframe的src
$("#tempIframe").attr("src", "AYKJ.GISDevelopTestPage.html");
// 获取iframe中的内容
var mainIframe = (document.getElementById("tempIframe").contentDocument || document.getElementById("tempIframe").contentWindow.document);
// iframe中添加表单
$(mainIframe.body).append($(formobj));
// 在iframe中找到表单并提交
$(mainIframe).find("#formMap").submit();

setTimeout(function(){  
window.parent.open("系统中具体的某个页面的url","_blank"); 
},1500);

后续小编的主要精力放到GIS理论开发知识的大众化的道路了,通过浅显易懂的语言,结合多年行业应用开发,通过微信订阅号传播(每周更新三篇文章及相关GIS编码知识),为GIS的发展尽微博之力。终极目标是让GIS不再专业,让GIS更加大众,使得GIS深入各行业应用,让每位GISER都有一股自豪感!以下是我的微信订阅号二维码,感兴趣的可以交流沟通!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dinxin横刀一笑

意思不意思那是你的意思

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值