以前のスタック オーバーフローの例でPOST
説明したように、リンクをフォームのように機能させようとしています。
という名前のファイルのヘッダーに含めている例の JavaScript コードを次に示しますsearch.php
。
<script>
function post_to_url(path, params, method) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
</script>
$alternative
以下では、多次元配列から単語のリストを出力して、クリック可能な形式でリストし、POST
リクエストのように動作させようとしています。私はphpを使用しているので、javascriptとphpを組み合わせようとしています:
foreach ($alternative as $test)
{
foreach ($test as $test2)
{
?> // end php code
<script type="text/javascript">
post_to_url('search2.php', {'<?php echo $test2;?>':'a'}); //php to echo $test2
</script>
<?php // start php code again
}
}
ロードしてからほぼ瞬時にsearch.php
ロードするようです。search2.php
私が確信していない2つのこと:
- PHP と Java スクリプトを正しく組み合わせていますか?
- Java スクリプト機能を正しく実装していますか?
この問題は、以前にスタック オーバーフロー (ここをクリック) で質問した問題の続きです。リクエストを使用するように提案されましたGET
が、アプリケーションが適切に動作しません。(適切なリンクのリストは表示されますが、それらのリンクをクリックすると不適切な動作が発生します)。POST
リクエストを使用する必要があると思います。
どこが間違っているのか、何をすべきかについての提案は大歓迎です。
みんなありがとう。