我有一个应用程序,其中值由QueryString传递给asp页面,如下面的代码所示,此调用是从JavaScript函数完成的。现在我需要在不使用QueryString的情况下将相同的值传递给asp页面,是否可以使用QueryString之外的任何内容将值传递给start.asp页面?
location.href = "start.asp" +
"?var1=" + someval1+
"&var2=" + someval2;
答案 0 :(得分:2)
发送值的唯一两种方法是GET
(QueryString)或POST
。
您可以使用jQuery
$.post("start.asp", { var1: "val1", var2: "val2" } );
答案 1 :(得分:2)
在您的网页中加入一个小表格: -
<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"} );