1

これは機能しませんが、なぜ機能しないのかわかりませんか?助けてくれる人はいますか?:)

params = qs.split("=", 2),
id = params[1];

if(id.indexOf("?") != -1){
  id = id.split("?", 1);
}

基本的に、IFステートメントがtrueの場合は、「ID」の値を変更します。そうでない場合は、それをスキップし、値Idがデフォルトのままになります。

ありがとう

4

1 に答える 1

1

の結果はid = id.split("?", 1)(最大で1つの項目の)配列ですが、idを文字列にする必要があると思います。それはidがあなたが望むような文字列ではない理由を説明するでしょう。

私は他のコメントに同意します。解析するURL文字列を表示し、取得しようとしている部分を教えてください。通常、最初に探し、?その後で分離してから、さまざまなkey=valueセクションに分割します。

次のようなURLがある場合:

http://www.example.com?foo=bar

すべてのクエリパラメータをオブジェクトに取り込む簡単な関数を次に示します。

function getParms(url) {
    var sections, key, pieces = url.split("?");
    var results = {};
    if (pieces.length > 1) {
        sections = pieces[1].split("&");
        for (var i = 0; i < sections.length; i++) {
            key = sections[i].split("=");
            results[key[0]] = key[1];                          
        }
    }
    return(results);
}

作業デモ: http: //jsfiddle.net/jfriend00/kNG3u/

于 2012-08-23T08:59:25.717 に答える