1

URLリンクを作成していますが、GET変数の1つにハッシュ記号が含まれています。Webページは、ハッシュマークの後のデータを読み取りません。2つの理由で取り出せません。

  1. Webサイトデータベース(私が設計したものではありません)には、さまざまなデータ項目のハッシュ記号があります。データベースを編集する権限がありません。そして、私が他のことをした場合、私は壊れると確信しています。
  2. URLのウェブページを編集できません。それは他の誰かによって設計されたものであり、私にはそれを編集する権限がありません。

URLは次のようになります

         www.example.com?datapoint1=abc&datapoint2=#def

ここで、Webページはデータベースでこの正確な文字列を検索するため、#defが必要です。Webページのphpを編集できれば、必要に応じてハッシュを入れることができますが、私が言ったように、私はしません。

もう少し説明します。ユーザーは(Javaアプリで)データを収集し、データは長いURL(上記の例のようですが、より複雑です)に入れられ、このリンクを使用して特定のユーザーに自動的に電子メールで送信されます。2番目のユーザーはリンクをクリックして、自分がしなければならないことは何でもします。

唯一の方法は、ウェブページのphpまたはjavascriptを編集することだと思います。任意のアイデアをいただければ幸いです。

4

2 に答える 2

4

#をとしてエンコードする必要が%23あるため、URLは次のようになります。

www.example.com?datapoint1=abc&datapoint2=%23def

簡単にするために、PHPの組み込みurlencode関数を使用できます:http://php.net/urlencode

于 2012-04-06T05:44:25.410 に答える
1

ハッシュ部分にしたくない場合は、URLのハッシュをエスケープする必要があります。aのurlencoded文字#はです%23

urlencode()phpの(php.net doc )を使用して、phpの値をエスケープできます。

また、URLクエリを生成し、キー値配列から値を適切にエンコードできるhttp_build_query_string()についても知りたいと思うかもしれません。詳細については、 php.netの例を確認してください。

PHPにアクセスできないが、JS(最適ではない)を使用できる場合は、ハッシュが存在することを確認したときにURLを書き換える小さなスクリプトを作成できます(ハッシュが存在しない場合にのみ機能します)。

if(window.location.hash) {
    // Hash detected, lets rebuild the url
    window.location.href = window.location.href + '%23' + window.location.hash.slice(1);
}
于 2012-04-06T05:45:18.673 に答える