0

我对 jQuery 和 PHP 有疑问……所以这是我的 jQuery 代码:

var rino = "Renaro";
$(document).ready(function() {
    $.post('form.php', { test: rino } );
});

这里是 PHP

echo $_POST['test'];

从文档中我了解到,在 jQuery 之后应该rino$_POST['test'].. 赋值,但它不会回显的值 .. 并给出 PHP 错误PHP Notice: Undefined index: test

我究竟做错了什么?

这是文件的完整代码

<html>
<head>
    <script type="text/javascript" src="jquery.js" ></script>
    <script type="text/javascript">
        var rino = "Renaro";
        $(document).ready(function() {
            $.post('form.php', { "test" : "rino" } );
        });
    </script>
</head>
<body>

<div id="content">
    <?php echo $_POST['test']; ?>
</div>
</body>
</html>
4

4 回答 4

1

我理解你的意思吗?

是否在一个文件中执行 jQuery 并form.php在另一个浏览器选项卡中调用?

那么问题应该是:

jQuery 将发布到form.php变量echo的内容test(但没有人查看它,因为它不安全)。您可以通过将结果返回给 jQuery 或将其保存到文件来更好地测试这一点。

但是当您打开form.php时,不会看到此结果,因为您的调用不是由 jQuery 完成的调用,因此没有为test.

于 2013-01-22T11:02:52.020 回答
0

试试这个

php

<?php if(isset($_POST['test']){echo $_POST['test']; }?>  // check if there post then echo

jQuery

<script type="text/javascript">
    var rino = "Renaro";
    $(document).ready(function() {
        $.post('form.php', { test : rino } );
    });
</script>
于 2013-01-22T10:56:07.813 回答
0

在您的 html 中创建一个带有“虚拟”类的 div 并尝试:

var rino="Renaro";
callme(rino);
function callme(rino){
    $.ajax({
        type: 'POST',
        data: {test: rino},
        url: 'form.php',
        success: function(str){
            $('.dummy').html(str);  
        },
        error: function(){
            $('.dummy').html("Nope, nothing here");
        }
    });
}

编辑:但不在同一页面中!带有 JS 和 HTML 的页面应该不同于带有 PHP 和 $_POST 的页面...

于 2013-01-22T11:09:13.283 回答
0

如果您将代码更改为此,那应该可以。

请注意,我删除了引号,rino因为它是一个变量。

<html>
<head>
    <script type="text/javascript" src="jquery.js" ></script>
    <script type="text/javascript">
        $(document).ready(function() {
            var rino = "Renaro";
            $.post('form.php', { "test" : rino }, function(data) {
                $('#content').html(data);
             }); 
        });
    </script>
</head>
<body>

<div id="content">

</div>
</body>
</html>
于 2013-01-22T11:11:24.347 回答