1

あるページから別のページにパラメーターを送信する際に神秘的な問題があります。

ExtJs メソッドの 1 つで、POST でパラメーターを別のページに送信します。

autoLoad : {  
url : url_servlet+'form.jsp',  
params: str,
scripts: true  
}

しかし、JavaScript でこのパラメータを取得する方法がわかりません。オーケー私は言い、URLでパラメーターを送信しました:

 url : url_servlet+'form.jsp?ss=333'

そして別のページで:

            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);

そして空のアラートを参照してください。

firebugで私は試します:

window.location.search

と取得し" "ます。

どうしたの?私はいくつかの例を読みましたが、すべてこのようなコードを見ました。

4

3 に答える 3

1

ここで起こっている可能性があるのは、ExtJS がページ全体をリモートの場所から現在のページにロードすることです。

これが発生すると、ロードの結果として実行されるコードは、現在のページで実行されます (おそらくss=xyzパラメーターはまったくありません)。

ただし、form.jspクエリ文字列にアクセスできる必要があり、ExtJS に返されるページにそれを挿入できます。

もう 1 つのオプションは、ページがロードされたときに JavaScript からそのデータを渡すことですが、ExtJS について十分な知識がなく、その方法を説明することができません。

于 2012-11-23T06:40:32.347 に答える
0

以下の機能をお試しいただけますか?

 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);
于 2012-11-23T06:23:20.147 に答える
0

javascript から POST パラメータを取得することはできません。POST パラメータはサーバーに、javascript はクライアント側にあります。

GET の場合は、parseUri ライブラリを使用できます

var value = uri.queryKey['param'];
于 2012-11-23T06:21:25.260 に答える