在QueryString以外的页调用上将值传递给ASP页

时间:2011-11-07 11:56:27

标签: javascript asp-classic

我有一个应用程序,其中值由QueryString传递给asp页面,如下面的代码所示,此调用是从JavaScript函数完成的。现在我需要在不使用QueryString的情况下将相同的值传递给asp页面,是否可以使用QueryString之外的任何内容将值传递给start.asp页面?

location.href = "start.asp" +
              "?var1=" + someval1+
              "&var2=" + someval2;

2 个答案:

答案 0 :(得分:2)

发送值的唯一两种方法是GET(QueryString)或POST。 您可以使用jQuery

轻松地使用JavaScript或更轻松地拨打电话
$.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"} );