我有一个应用程序,其中的值通过 QueryString 传递到 asp 页面,如下面的代码所示,此调用是从 JavaScript 函数完成的。现在我需要在不使用 QueryString 的情况下将相同的值传递给 asp 页面,是否可以使用 QueryString 以外的任何其他方式将值传递给 start.asp 页面?
location.href = "start.asp" +
"?var1=" + someval1+
"&var2=" + someval2;
最佳答案
在您的页面中包含一个小表单:-
<form id="frmStart" method="POST" action="start.asp" style="display:none">
<input name="var1" />
<input name="var2" />
</form>
您的代码将是:-
var frmStart = document.getElementById("frmStart");
frmStart.var1.value = "val1";
frmStart.var2.value = "val2";
frmStart.submit();
“start.asp”将访问发布的值:-
Dim var1 : var1 = Request.Form("var1")
Dim var2 : var2 = Request.Form("var2")
如果可能的变量列表本身是动态的,那么您可以使用一些 javascript 来动态创建表单。
function post (url, data)
{
var frmStart = document.createElement("form");
document.body.appendChild(frmStart);
frmStart.action = "start.asp";
frmStart.method = "POST";
foreach (var name in data)
{
var inp = document.createElement("input");
inp.name = name;
inp.value = data[name];
frmStart.appendChild(inp);
}
frmStart.submit();
}
post("start.asp", {var1: "val1", var2: "val2"} );
关于javascript - 在 QueryString 以外的页面调用上将值传递给 ASP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036132/