js post 指定php页面,js使用post 方式打开新窗口_javascript技巧

本文介绍了如何在JavaScript中使用jQuery的Ajax方法配合模拟表单提交,解决长参数POST到服务器的问题,并避免浏览器拦截,以提供更好的用户体验。作者详细讲解了如何创建隐藏表单、设置URL和POST数据,以及在新窗口显示响应结果。
摘要由CSDN通过智能技术生成

js中一般新打开窗口很简单直接window.open(url);就可以了,

但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求:

1,js中实现post提交

2,返回的页面在新窗口显示

首先我是这么做的:

$.ajax({

type: "POST",

url: '${contextPath}/analyse/detail.do',

data: {carNum :carNum,ids:refIds},

success: function(str_response) { var obj = window.open("about:blank");

obj.document.write(str_response);

}

});

通过jQuery ajax提交,返回的数据写在新的页面中,但是由于浏览器的会拦截自动弹出的窗口,这样还需用户自己解除拦截,用户体验很差,

然后我又通过模拟form表单的提交来实现

function post(URL, PARAMS) { var temp_form = document.createElement("form");

temp_form .action = URL;

temp_form .target = "_blank";

temp_form .method = "post";

temp_form .style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea");

opt.name = x;

opt.value = PARAMS[x];

temp_form .appendChild(opt);

}

document.body.appendChild(temp);

temp_form .submit();

}

注意:如需新打开窗口 form 的target属性要设置为'_blank'

然后请求post('${contextPath}/analyse/detail.do',{carNum :carNum,ids:refIds});就可以了

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JavaScriptPost方式在当前窗体打开页面,可以通过以下步骤实现: 首先,我们需要监听一个事件,如点击按钮,来触发Post方式。可以通过添加一个Button元素,并给它一个唯一的ID,如"newWindowBtn"。 其次,在JavaScript中,获取该按钮元素,可以使用document.getElementById方法,传入按钮的ID作为参数,然后将其赋值给一个变量,如btn。 然后,使用addEventListener方法,给该按钮添加一个点击事件监听器。在监听器函数中,我们将使用post方式打开新的页面。 接下来,我们需要构建一个表单元素,其中包含将要发送给服务器的数据。可以使用document.createElement方法创建一个form元素,并将其赋值给一个变量,如form。 然后,将该form元素添加到当前文档的body中,可以使用document.body.appendChild方法,将form元素作为参数传入。 接下来,我们使用form元素的属性来设置表单的属性。可以使用form的action属性设置表单提交的URL,可以使用form的method属性设置请求的方式,这里是post。 如果需要向服务器发送数据,可以使用form的innerHTML属性创建一个包含input元素的字符串,并将其赋值给form的innerHTML属性。 在创建好表单之后,我们可以使用form.submit方法来提交表单,并在当前窗体中打开页面: btn.addEventListener('click', function() { var form = document.createElement('form'); form.action = 'your_url_here'; form.method = 'post'; form.innerHTML = '<input type="hidden" name="your_data" value="your_value">'; document.body.appendChild(form); form.submit(); }); 在以上代码中,需要将'your_url_here'替换为你要打开的新页面的URL地址,以及根据需要,修改name和value以适应你要发送的数据。 以上就是使用JavaScriptPost方式在当前窗体打开页面的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值