web在新窗口中打开页面,Post请求

I'm Shendi;


目录

 

需求

 

思路

a标签形式

表单形式


需求

有的时候我们的页面需要在新窗口中处理操作-比如支付页面

 

这时我们可以直接设置 a 标签的属性 target='_blank' 来在新窗口中打开

 

但是这样显得很不安全,并且只能为get请求

 

思路

有几种方法

  • 我们可以在 js 中创建 a 标签来进行处理,但是只能是get请求
    • 在前后端分离项目中,一般都是post请求
    • 在新窗口,参数都在链接上显而易见
  • 使用表单

 

a标签形式

//这里是js代码
var a = document.createElement("a");
a.href="http://www.baidu.com";
a.target="_blank";
a.click();

 

表单形式

一般使用这种方式,代码我也放到github上

建议从 github 获取---因为以下代码有缺陷的话在github中会修复,优化...

并且有压缩版(速度更快)

https://github.com/1711680493/Application/tree/master/ShendiWeb/Win

其他功能

https://github.com/1711680493/Application/tree/master/ShendiWeb

/**
	 * 在新窗口中打开一个连接
	 * @param url 请求路径
	 * @param type 请求类型
	 * @param param 请求参数,格式为name=value&name=value...
	 */
	function open(url, type, param) {
		var form = document.createElement("form");     
		form.action = url;
		form.target = "_blank";
		form.method = type;
		form.style.display = "none";
		
		var params = param.split("&");
		for (var i = 0;i < params.length; i++) {
			var input = document.createElement("input");
			var map = params[i].split("=");
			input.name = map[0];
			input.value= map[1];
			form.appendChild(input);
		}
		document.body.appendChild(form);
		form.submit();
		document.body.removeChild(form);
	}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HackShendi

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值