使用POST将参数从脚本发送到servlet

时间:2013-06-20 07:53:12

标签: javascript servlets

我有一个与网络焦点流程关联的JavaScript代码,它返回了一些参数。我想将其中一个参数传递给我的Servlet,但我不知道如何将此参数传递给我的servlet。我粘贴了一些代码:

document.form1.INFCENTRO.value=9991;
document.form1.NOMBRENTI.value='DOCALIA';
document.form1.NOMBRENTI.disabled=true;
document.form1.NOMAPE.disabled=true;
document.form1.CLAVEUSU.value=user_espe;
document.form1.CLAVEUSU.disabled=true;
document.form1.FECHAPETI.disabled=true;

var pagina="http://lnxntf05:8080/MyMaver/ServletTipoPapel";

function redireccionar() 
{
    location.href=pagina;
} 
setTimeout ("redireccionar()", 20);

document.form1.CLAVEUSU中,我获取了我想要传递给Servlet的值,但我不知道...有人可以帮助我吗?

2 个答案:

答案 0 :(得分:4)

听起来你想张贴那张表格。如果是这样的话:

function redireccionar() {
    document.form1.method = "POST"; // Don't need this if it's in the markup
    document.form1.action = "http://lnxntf05:8080/MyMaver/ServletTipoPapel"; // Could put this in the markup as well
    document.form1.submit();
}

setTimeout(redireccionar, 20);

但是您需要禁用表单元素(删除document.form1.CLAVEUSU.disabled=true等),因为禁用的表单元素不会随表单一起发送。


请注意,使用setTimeout的字符串通常最好。我上面使用了一个函数参考。

答案 1 :(得分:0)

使用“redirecionar”功能,您的浏览器将对“pagina”URL执行GET请求,而不是POST。因此服务器永远不会从表单

接收您的参数

我认为有两种解决方法:

1)保留GET方法,但通过附加

将参数添加到URL
"?INFOCENTRO=9991&NOMBRENTI=DOCALTA..."

小心URL转义变量。

2)使用POST方法和一段代码,如下所示:

function redireccionar() 
{
   document.form1.action = pagina;
   document.form1.submit();
} 
setTimeout ("redireccionar()", 20);

这有帮助吗?