如何从不同的页面发送字符串作为POST数据


How to send a string as POST data from a different page?

我的index.php中有一个带有输入框的搜索页面。表单使用POST方法。

<form id="someID" action="result.php" method="post">
    <input name="name" id="name" type="text">
    <input type="submit" value="Search">
</form>

现在,我想使用这样的链接-从result.php页面向输入框发送一个字符串

<a href="javascript:void(0)">Some Name</a>

我可以使用JS获得这个链接的内容,如果我使用get方法,我可以将名称发送到结果页面
示例:http://example.com/result.php?name=value

但我不能在这里使用GET
我可以使用POST方法将此链接的内容作为字符串发送到结果页面吗?有什么想法吗?

如果您使用jQuery(使AJAX比普通JS更简单),它看起来像这样:

$.post('http://example.com/result.php', { name: value }, function(data) {
    // data -> returned HTTP request
});

U可以用这样的东西做到这一点,这里的ajax实际上不是一个选项,因为你想转到另一个页面

主要

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
    <a href="#" class="search">Foo</a>
    <a href="#" class="search">Bar</a>
    <a href="#" class="search">Foobar</a>
    <form id="just_a_form" action="result.php" method="POST">
        <input type="hidden" name="txt_name" id="txt_name" value="" />
    </form>
    <script>
        $(function() {
            $('.search').click(function(e) {
                e.preventDefault();
                $('#txt_name').val($(this).html());
                $('#just_a_form').submit();
            });
        });
    </script>
</body>
</html>

结果

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
    <?php
        if (isset($_POST['txt_name'])) {
            $name = $_POST['txt_name'];
        }else{
            $name = '';
        }
    ?>
    <form id="someID" action="result.php" method="post">
        <input name="name" id="name" type="text" value="<?php echo $name; ?>">
        <input type="submit" value="Search">
    </form>
</body>
</html>