0

リンクから URL リクエスト変数を取得し、それらを CFC コンポーネントに渡したいと考えています。すべてを処理する作業コード (jQuery、AJAX、CFC) は既にありますが#URL.whatever#、特定のリンクから取得する必要があるだけです。

Coldfusion コード内では簡単に実行できますが#URL.whatever#、クライアント側から取得する方法がわかりません。また、IIS URL 書き換えを使用しているかどうかは関係ありますか? 現在、 に書き直しwww.website.com/page.cfm?category=cat1ていwww.website.com/page/cat1ます。

どちらの場合も、Coldfusion は でリクエスト変数にアクセスできますが、#URL.category#まったく違いはありません。では、JavaScript/jQuery でこれを行うにはどうすればよいでしょうか。複雑ではないはずですよね?

4

3 に答える 3

0

リンクへの参照を取得する方法を提案するために、より詳細な情報が必要になりますが、次のようなものが機能するはずです。

HTML

<a id="mylink" href="www.website.com/page.cfm?category=cat1">Website.com</a>

JS

var href = document.getElementById( 'mylink' ).href;
于 2012-10-23T19:31:34.703 に答える
0

そうです、使用したいのはwindow.location.href変数を解析する関数です。

var URL_PARAM = getUrlVars()["category"];

または、ページのURLがwww.website.com/page.cfm?category=cat1&anotherparam=12345の場合

var URL_PARAM1 = getUrlVars()["category"];
var URL_PARAM2 = getUrlVars()["anotherparam"];

URLリライトでどのように動作するかはわかりません。

URLVars:

function getUrlVars() {
    var vars = {};
    var parts =window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[ decodeURIComponent(key)] = decodeURIComponent(value);
    });
    return vars;
}
于 2012-10-23T19:31:40.363 に答える
0

This questionは変数を取得する方法を提案しています.Blaiseの正規表現よりも少し理解しやすいと思います. また、URL Get Querystring with Dojoからの値を適切にアンエンコードします。

function getUrlParams() {

  var paramMap = {};
  if (location.search.length == 0) {
    return paramMap;
  }
  var parts = location.search.substring(1).split("&");

  for (var i = 0; i < parts.length; i ++) {
    var component = parts[i].split("=");
    paramMap [decodeURIComponent(component[0])] = decodeURIComponent(component[1]);
  }
  return paramMap;
}

var params = getUrlParams();
console.log(params.myParam);
于 2012-10-23T19:46:58.427 に答える