确保链接的行为与表单POST请求的行为相同 - 在php中使用javascript

时间:2013-07-20 11:39:51

标签: php javascript forms search-engine

我尝试在之前的Stack Overflow示例中将链接表现为表单POST as outlined here

以下是该示例中的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

我不确定的两件事:

  1. 我是否正确组合了php和java脚本?
  2. 我是否正确实现了java脚本功能?
  3. 此问题是continuation of a problem about which I previous asked a question on Stack Overflow (click here).建议我使用GET请求 - 但我的应用程序无法正常运行。 (它会显示相应链接的列表,但单击这些链接会导致不当行为)。我相信我必须使用POST请求。

    对于我出错或应该做什么的任何建议都将不胜感激。

    谢谢你们。

0 个答案:

没有答案