0

URLでいくつかのデータを「送信」しています:

foo.htm?mydata

周りを検索すると、次のようなものを使用する必要があることがわかります。

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

しかし、私はこれに少し困惑しています。誰かがこれを解読するのを手伝ってくれませんかmydata

var newvar = mydata

よろしくお願いします!

4

2 に答える 2

2

getParameterByName関数 (ここから取得したと仮定します)、クエリ文字列値を取得するように記述されています。つまり、次のような URL からデータにアクセスできます。

yourdomain.com/index.html?key=value&anotherkey=anothervalue

今、あなたはこれを行うことができます:

var firstKey = getParameterByName("key");
var secondKey = getParameterByName("anotherkey");

質問で説明したように、キーと値のペアがありません。このような場合で、 のの部分のみが必要な場合は、単にsplitメソッド?を使用して次を使用します。

var newvar = document.URL.split("?")[1];

ただし、将来さらに多くの変数を渡したい場合に備えて、キー/値方式を使用することをお勧めします。

于 2012-08-02T08:06:10.873 に答える
1

多くのURI解析が必要な場合は、このライブラリが興味深いかもしれません。

https://github.com/medialize/URI.js

于 2012-08-02T07:55:51.037 に答える