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

时间:2014-10-01 14:19:47

标签: javascript php

我的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方法将此链接的内容作为字符串发送到结果页面吗?有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您正在使用jQuery(使AJAX比vanilla JS更简单),它将如下所示:

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

答案 1 :(得分:0)

你可以用这样的东西做到这一点,这里的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>