Javascript 将参数发送到另一页

Javascript 将参数发送到另一页,javascript,extjs,url-parameters,Javascript,Extjs,Url Parameters,我在将参数从一页发送到另一页时遇到了一个神秘的问题 在一个ExtJs方法中,我通过POST将参数发送到另一个页面: autoLoad : { url : url_servlet+'form.jsp', params: str, scripts: true } function param(Name){ var Params = location.search.substring(1).split("&");

我在将参数从一页发送到另一页时遇到了一个神秘的问题

在一个ExtJs方法中,我通过POST将参数发送到另一个页面:

autoLoad : {  
url : url_servlet+'form.jsp',  
params: str,
scripts: true  
}
            function param(Name){
            var Params = location.search.substring(1).split("&");
            var variable = "";
            for (var i = 0; i < Params.length; i++){
                if(Params[i].split("=")[0] == Name){
                    if (Params[i].split("=").length > 1)
                        variable = Params[i].split("=")[1];
                return variable;
                }
            }
            return "";
        } 

        var s =param('ss');
        alert(s);
但是我不知道如何在JavaScript中获取这个参数。Okey i说,并在url中发送参数:

 url : url_servlet+'form.jsp?ss=333'
在另一页:

autoLoad : {  
url : url_servlet+'form.jsp',  
params: str,
scripts: true  
}
            function param(Name){
            var Params = location.search.substring(1).split("&");
            var variable = "";
            for (var i = 0; i < Params.length; i++){
                if(Params[i].split("=")[0] == Name){
                    if (Params[i].split("=").length > 1)
                        variable = Params[i].split("=")[1];
                return variable;
                }
            }
            return "";
        } 

        var s =param('ss');
        alert(s);
并获取


怎么了?我读了几个例子,每个人都会看到这样的代码。

您无法从javascript获取POST参数。POST参数在服务器端,javascript在客户端

如果是GET,那么您可以使用


无法从javascript获取POST参数。POST参数在服务器端,javascript在客户端

如果是GET,那么您可以使用


你能试试下面的功能吗

 function param(Name){
            var Params = location.search.substring(1).split("&");
            var variable = "";
            for (var i = 0; i < Params.length; i++){
                if(Params[i].split("=")[0] == Name){
                    variable = Params[i].split("=")[1];
                    return variable;
                }
            }
            if(variable=="") return variable;

        } 
    var s =param('ss');
    alert(s);
函数参数(名称){
var Params=location.search.substring(1.split(&));
var变量=”;
对于(变量i=0;i
您能试试下面的功能吗

 function param(Name){
            var Params = location.search.substring(1).split("&");
            var variable = "";
            for (var i = 0; i < Params.length; i++){
                if(Params[i].split("=")[0] == Name){
                    variable = Params[i].split("=")[1];
                    return variable;
                }
            }
            if(variable=="") return variable;

        } 
    var s =param('ss');
    alert(s);
函数参数(名称){
var Params=location.search.substring(1.split(&));
var变量=”;
对于(变量i=0;i
这里可能发生的情况是ExtJS将整个页面从远程位置加载到当前页面中

发生这种情况时,由于加载而运行的代码将在当前页面中执行(该页面可能根本没有
ss=xyz
参数)

但是,您的
form.jsp
应该可以访问查询字符串,并可以将其注入到返回到ExtJS的页面中


另一种选择是在加载页面后以某种方式从JavaScript传递数据,但我对ExtJS了解不够,无法告诉您如何做到这一点。

这里可能发生的情况是,ExtJS将整个页面从远程位置加载到当前页面

发生这种情况时,由于加载而运行的代码将在当前页面中执行(该页面可能根本没有
ss=xyz
参数)

但是,您的
form.jsp
应该可以访问查询字符串,并可以将其注入到返回到ExtJS的页面中



另一种选择是在加载页面后以某种方式从JavaScript传递数据,但我对ExtJS了解不够,无法告诉您如何做到这一点。

OK。用url发送怎么样?-1。如果页面类似于GET请求的
form.jsp?ss=123
@Jack,那么参数
ss
应该可以从查询参数中获得POST@sheldonCooper你能举个例子吗?杰克,但我该怎么办?好的。用url发送怎么样?-1。如果页面类似于GET请求的
form.jsp?ss=123
@Jack,那么参数
ss
应该可以从查询参数中获得POST@sheldonCooper你能举个例子吗?@Jack但我要做什么?@KliverMax,浏览器位置栏中的url是什么?您确定测试了修改后的功能吗?在浏览器位置栏中我看到
http://localhost:8080/web/guest/gis;jsessionid=01381E108A70601DEF59EC27C27B9F2E
如果此url中没有参数“ss”,您将如何获取它?只有当url的形式为@KliverMax时,上述函数才起作用,浏览器位置栏中的url是什么?您确定测试了修改后的功能吗?在浏览器位置栏中我看到
http://localhost:8080/web/guest/gis;jsessionid=01381E108A70601DEF59EC27C27B9F2E
如果此url中没有参数“ss”,您将如何获取它?如果
location.search
为空,则上述函数仅在url为表单时有效,显然
param('ss')
也将为空;因此,加载页面后,请查看浏览器位置栏。如果您看到
ss=xyz
您的代码应该可以正常工作。在浏览器位置栏中,我看到
http://localhost:8080/web/guest/gis;jsessionid=01381E108A70601DEF59EC27C27B9F2E‌
但不要知道这是什么意思?如果
location.search
为空,显然
param('ss')
也将为空;因此,加载页面后,请查看浏览器位置栏。如果您看到
ss=xyz
您的代码应该可以正常工作。在浏览器位置栏中,我看到
http://localhost:8080/web/guest/gis;jsessionid=01381E108A70601DEF59EC27C27B9F2E‌
但是不要问这是什么意思?所以我要用这样的东西:
第一页-->服务器-->第二页
?我是否可以将Java代码放入
form.jsp
中,通过POST从第一页获取参数,并在
form.jsp
中以JavaScript发送?@KliverMax
ss
参数是URL的一部分,而不是POST数据;但是,是的,这是我的建议。我不能在
form.jsp
中这样做:String str=request.getParameter(“ss”)@是的,
request.getParameter()
应该可以正常工作;如果返回
null
,则根据Java文档,这意味着它不存在。不幸的是,
jsp
不是我的专业领域。我尝试
stringstr=request.getParameter(“ss”)并在JS中使用参数,使用
,效果很好。所以我将使用类似这样的东西:
第一页-->服务器-->第二页
?我是否可以将Java代码放入
form.jsp
中,通过POST从第一页获取参数,并在
form.jsp
中以JavaScript发送?@KliverMax
ss
参数是URL的一部分,而不是POST数据;是的,那是我的建议