如何使用客户端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>');
答案 0 :(得分:2)
在ASP上我认为你正在寻找String(Request.queryString(“P”))
您必须使用String构造函数,因为queryString方法返回一个集合。
答案 1 :(得分:1)
我过去曾使用jQuery插件getUrlParam执行此操作。工作得很好。
var project = $(document).getUrlParam("P");
答案 2 :(得分:0)
您无法在客户端设置任何变量以在服务器端脚本中使用,而无需通过某些HTTP请求(可能是XHR)将值传递给服务器。所以也许我误解了你的问题。
服务器端脚本通常用于生成发送到客户端的HTML,因此服务器端脚本在之前执行客户端可以执行任何操作,更不用说服务器了在一个完全不同的记忆空间。
服务器端脚本还可以从客户端接收数据,但仅通过客户端的另一个HTTP请求,如上所述。