将客户端js变量传递到服务器端jscript

时间:2010-04-12 17:56:38

标签: variables client-side server-side javascript

如何使用客户端js从浏览器URL获取查询字符串并将其设置为在某些服务器端脚本中使用的变量?

客户端脚本:

var project = getQueryString("P");

function getQueryString(param) {
    var queryString = window.location.search.substring(1);
    splitQueryString = queryString.split("&");

    for (i=0; i<splitQueryString.length; i++) {
        query = splitQueryString[i].split("=");
        if (query[i] == param) {
        return query[1];
        }
    }

}

服务器端脚本:

response.write ('<td><a href="/index.asp?P=' + project + ">' + obj.BODY[i].NAME + '</a></td>');

3 个答案:

答案 0 :(得分:2)

在ASP上我认为你正在寻找String(Request.queryString(“P”))

您必须使用String构造函数,因为queryString方法返回一个集合。

答案 1 :(得分:1)

我过去曾使用jQuery插件getUrlParam执行此操作。工作得很好。

var project = $(document).getUrlParam("P");

答案 2 :(得分:0)

您无法在客户端设置任何变量以在服务器端脚本中使用,而无需通过某些HTTP请求(可能是XHR)将值传递给服务器。所以也许我误解了你的问题。

服务器端脚本通常用于生成发送到客户端的HTML,因此服务器端脚本在之前执行客户端可以执行任何操作,更不用说服务器了在一个完全不同的记忆空间。

服务器端脚本还可以从客户端接收数据,但仅通过客户端的另一个HTTP请求,如上所述。