- PR -

JavaScript:URLからパラメータ取得したい

1
投稿者投稿内容
さわこ
ベテラン
会議室デビュー日: 2003/06/04
投稿数: 71
投稿日時: 2003-11-06 16:17
JavaScript初心者です。
ごめんなさい!場違いかもしれませんが、一応開発はC#.NETを使用しているので・・・

今、開発でJavaScriptを少々使っております。
本当ならば、JavaScriptの中にaspを組み込みたかったのですが、
エラーになってしまい、わからなくなり書き込みをいたしました。

アクティブで開いているページのURLの中にパラメータ(pfid項目)があります。
例)http://www.***.co.jp/****?id=1111&pfid=0010019999&type=1&******=jp

このpfidの値を取得したいのですが、サンプルを探してもいいものが見つかりません。

pfid=0010019999の「0010019999」の部分だけを取得するには
どのようなコードにすればよろしいのでしょうか?

超初心者で大変申し訳ございません。
どんなことでも構いません。教えてくださいませ!!!
ハヤ
常連さん
会議室デビュー日: 2003/06/04
投稿数: 41
投稿日時: 2003-11-06 17:37
シナリオを確認すると、

1.クライアントから「http://www.***.co.jp/****?id=1111&pfid=0010019999」というリクエストを飛ばす
2.サーバが受け取り、レスポンスを返す
3.クライアントで描画する。その中のクライアントサイドJavaScriptでクエリ文字列を取得したい。

という事なんですよね?
3で取得するのは可能なんですかね?ちょっと私は知らないのでこの点はアドバイスできません。
このあたりは識者のお出ましを願うとして・・・・

が、「どんなことでも構いません。教えてくださいませ!!!」と、言う事なので
別の方法をお伝えします。
2のタイミングで、サーバサイドでクエリ文字列を取得する事は可能です。
取得した時点でその取得した値をそのままレスポンスに書き込んでしまいます。

例えば、ある画面から、「http://www.***.co.jp/WebForm1.aspx?pfid=0010019999」という形で
遷移してきたとして、

WebForm1.aspxに以下のようなコントロールを埋め込みます。
<INPUT type="button" onclick="alert('クエリ文字列は ' + strQueryString);" />

コードビハインドのPage_Loadイベントに以下のような処理を埋め込みます。
コード:
private void Page_Load(object sender, System.EventArgs e)
{
  if(!IsPostBack)
  {
    string strpfid = this.Request.QueryString["pfid"].ToString();
    this.RegisterClientScriptBlock("","<script language='javascript'>var strQueryString = '" + strpfid + "';</script>");
  }
}



まず、クエリ文字列の中身を取得して、その取得した中身を変数strQueryStringの中に入れて
クライアントサイドJavascriptに書き出します。そして、クライアント側でその変数の中身を
使用している、というわけです。

もっと賢いやり方はあると思いますがヒントになれば幸いです。
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-11-06 17:53
JavaScriptでやるにはlocation.search で?から後ろが取れますのでそれを加工してください。

ただハヤさんのやり方の方が色々と応用が利くと思います。
サーバーで解釈してhiddenに詰めるとかCookieに書くとか・・・
1

スキルアップ/キャリアアップ(JOB@IT)