Javascript 使用POST将参数从脚本发送到servlet
我有一个与web焦点进程相关联的JavaScript代码,它会返回一些参数。我想将其中一个参数传递给我的Servlet,但我不知道如何将这个参数传递给我的Servlet。我粘贴了一些代码:Javascript 使用POST将参数从脚本发送到servlet,javascript,servlets,Javascript,Servlets,我有一个与web焦点进程相关联的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.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的值,但我不知道如何。。。有人能帮我吗?听起来你想把那张表格寄出去。如果是:
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
一起使用。我在上面使用了一个函数引用。听起来您想发布该表单。如果是:
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
一起使用。我使用了上面的函数引用。使用“RedReceionar”函数,浏览器将对“pagina”URL执行GET请求,而不是发布。因此,服务器将永远不会从表单接收您的参数
我认为有两种变通方法:
1) 保留GET方法,但通过追加向URL添加参数
"?INFOCENTRO=9991&NOMBRENTI=DOCALTA..."
小心URL转义您的变量
2) 使用带有一段代码的POST方法,如下所示:
function redireccionar()
{
document.form1.action = pagina;
document.form1.submit();
}
setTimeout ("redireccionar()", 20);
这有帮助吗?使用“RedReceionar”功能,浏览器将向“pagina”URL发出GET请求,而不是发送帖子。因此,服务器将永远不会从表单接收您的参数
我认为有两种变通方法:
1) 保留GET方法,但通过追加向URL添加参数
"?INFOCENTRO=9991&NOMBRENTI=DOCALTA..."
小心URL转义您的变量
2) 使用带有一段代码的POST方法,如下所示:
function redireccionar()
{
document.form1.action = pagina;
document.form1.submit();
}
setTimeout ("redireccionar()", 20);
这有帮助吗?@T.J.Crowder他的意思可能是“怀疑”:D@asifsid88你自己也拼错了。@ShadowWizard lolz。。我的坏消息:P:D@asifsid88没关系,伙计,或者怀疑是噪音,所以我把它移走了。@ShadowWizard nice:)@t.J.Crowder也许他是说“怀疑”:D@asifsid88你自己也拼错了。@ShadowWizard lolz。。我的坏消息:P:D@asifsid88没关系,伙计,我怀疑这是噪音,所以我把它删除了。@ShadowWizard nice:)正确,但他仍然不会发送任何值,因为他禁用了表单元素。同样值得一提。@ShadowWizard:谢谢,我没有看到行设置被禁用。
。谢谢,我认为这样就足够了,我现在就全部试试,非常感谢。@Deckard27:De nada。Espero que ayude。正确,但在禁用表单元素时,他仍然不会发送任何值。同样值得一提。@ShadowWizard:谢谢,我没有看到行设置被禁用。
。谢谢,我认为这样就足够了,我现在就全部试试,非常感谢。@Deckard27:De nada。Espero que ayude。感谢jejeje与CrowderYep提供的解决方案相似。抱歉,是同时发布的!感谢jejeje类似于CrowderYep指定的解决方案抱歉,是同时发布的!