ホームページ >ウェブフロントエンド >フロントエンドQ&A >HTMLジャンプパラメータ
HTML ジャンプ パラメータ: GET および POST メソッドを使用してパラメータを渡すためのヒント
HTML は一般的に使用されるフロントエンド プログラミング言語です。実際のアプリケーションでは、ページ上でジャンプするときにいくつかのパラメータを渡す必要がある場合があります。 。たとえば、検索ページでキーワードを検索し、検索結果ページにジャンプして、関連する検索結果を結果ページに表示する場合は、パラメーターを渡す必要があります。この記事では、HTMLでパラメータをジャンプする方法と、GETメソッドとPOSTメソッドを使用してパラメータを渡す方法を紹介します。
1. HTML でパラメータをジャンプする方法
HTML ページでパラメータをジャンプするには、URL パラメータでジャンプする方法とフォーム送信でジャンプする方法の 2 つがあります。
1. URL パラメーター ジャンプ
URL パラメーター ジャンプとは、URL アドレスの末尾にパラメーターを直接追加することを指し、ターゲット ページにジャンプするときに、バックグラウンドが URL を通じてパラメーターを取得できるようにします。解析中。
URL アドレスの形式は次のとおりです。
http://www.example.com/index.php?key=value
ここで、key
はパラメータ名、value
はパラメータ値です。複数のパラメータを渡す必要がある場合は、&
記号を使用して接続できます。例:
http://www.example.com/index.php?key1=value1&key2=value2
ジャンプする必要があるハイパーリンク タグ 3499910bf9dac5ae3c52d5ede7383485
の href 属性の値は、ジャンプ先の URL アドレスです。例:
<a href="http://www.example.com/index.php?key=value">跳转到目的地</a>
ユーザーがこのリンクをクリックすると、自動的にターゲットページにジャンプし、パラメータが表示されます。
2. ジャンプを実現するためのフォーム送信
ジャンプを実現するためのフォーム送信とは、フォーム送信を通じてバックグラウンドにパラメータを渡すことを意味し、バックグラウンドはフォームデータを解析することでパラメータを取得します。
HTML フォームの一般的な形式には、テキスト入力ボックス、ドロップダウン選択ボックス、ラジオ ボタン、チェック ボックスなどが含まれます。フォームを送信するには、フォーム データのハンドラーを ff9c23ada1bcecdd1a0fb5d5a0f18437 タグで定義する必要があります。
例:
<form method="post" action="http://www.example.com/index.php"> <input type="text" name="key1" value="value1"> <input type="text" name="key2" value="value2"> <input type="submit" name="submit" value="提交"> </form>
上記のコードでは、method="post"
は、POST メソッドを使用してフォームを送信することを意味します。action="http: //www.example.com/index.php"
は、指定されたページにフォームを送信することを意味します。
このうち、d5fd7aea971a85678ba271703566ebfd
タグ内の name
属性はパラメータ名を表し、value
属性はパラメータ値を表します。 。フォームが送信されると、バックグラウンドが解析を通じてパラメーターを取得できるように、フォーム データも一緒にバックグラウンドに送信されます。
2. GET メソッドと POST メソッドでパラメータを渡す場合のヒント
パラメータを渡すときは、GET メソッドと POST メソッドの違いとセキュリティの問題に注意する必要があります。 GET メソッドは URL の一部としてパラメーターを使用し、それらをクリア テキストで送信します。これは、悪意のある攻撃者によって簡単に傍受または改ざんされる可能性があります。 POSTメソッドはHTTPリクエストのメッセージボディにパラメータを含める方式であり、安全性は高くなりますが、伝送効率は低くなります。
パラメーターを渡すとき、GET メソッドまたは POST メソッドを使用するときに、パラメーターを処理するいくつかのテクニックを使用して、より柔軟かつ安全にすることができます。
1. URL エンコーディングを使用してパラメーターを渡す
GET メソッドでは、パラメーターは URL にプレーン テキストで表示されます。パラメーターにスペース、中国語、中国語などの特殊文字が含まれている場合、記号など、問題が発生します。このとき、送信プロセス中に例外が発生しないように、URL エンコード技術を使用してパラメータをエンコードする必要があります。 URL エンコードは、特殊文字を %xx の 16 進表現に変換することによって機能します。たとえば、スペースは としてエンコードされ、中国語の「中国」は China としてエンコードされます。
URL では、すべての特殊文字をエンコードする必要があります。 HTML では、次に示すように、encodeURIComponent()
関数と decodeURIComponent()
関数を使用して URL エンコードとデコードを実行できます。
var keyword = "中国"; var url = "http://www.example.com/index.php?keyword=" + encodeURIComponent(keyword);
上記のコードは ## を利用しています。 # encodeURIComponent() 関数は中国語をエンコードし、生成される URL アドレスは次のとおりです:
http://www.example.com/index.php?keyword=%e4%b8%ad%e5%9b%bdバックグラウンド処理中に、パラメータをデコードする必要があります:
$keyword = urldecode($_GET['keyword']);2. 隠しフォーム配信を使用するパラメータPOST メソッドを使用してパラメータを渡す場合、隠しフォームを使用してパラメータを渡す手法があります。フォームを非表示にするということは、フォーム要素の
style 属性を
display:none に設定してページ上で非表示にすることを意味します。隠しフォームに必要なパラメータを追加することで、フォーム送信時に一緒にバックグラウンドに送信することができます。
<form method="post" action="http://www.example.com/index.php"> <input type="text" name="keyword" value="中国"> <input type="hidden" name="id" value="123"> <input type="submit" name="submit" value="提交"> </form>上記のコードでは、
d5fd7aea971a85678ba271703566ebfd タグの
type 属性が非表示になっており、これは、これが非表示フォーム。
name 属性はパラメータ名を表し、
value 属性はパラメータ値を表します。フォームを送信すると、これらのパラメータが一緒にバックグラウンドに送信されます。
var data = {"id":123, "name":"中国"}; $.post("http://www.example.com/index.php", JSON.stringify(data), function(response){ console.log(response); }, "json");上記のコードでは、jQuery の
$.post() 関数を使用して POST メソッドの送信を実装しています。この関数の最初のパラメータはデータを処理するページを表し、2 番目のパラメータは送信されるデータを表し、3 番目のパラメータは成功後のコールバック関数を表し、4 番目のパラメータはデータ型を表します。
json_decode() 関数を使用してデコードする必要があります。<pre class='brush:php;toolbar:false;'>$data = json_decode(file_get_contents('php://input'), true);</pre><p>这段代码中,<code>file_get_contents('php://input')
表示获取提交的消息体,即POST方法中的参数。json_decode()
函数将JSON格式的参数解码为PHP数组,第二个参数为true表示转换为关联数组形式。
注意:利用JSON进行参数传递时,需要注意安全性问题,防止恶意攻击者注入JS代码或跨站脚本攻击。此时,可以使用jQuery的$.param()
函数将参数序列化为字符串进行安全性处理。
总结:
HTML跳转参数可以通过URL参数或表单提交实现,使用GET方法和POST方法进行参数传递时,需要注意安全性和参数的编码解码问题。可以利用URL编码、隐藏表单或JSON数据格式等技巧来实现参数的传递。
以上がHTMLジャンプパラメータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。