将变量从jquery传递给php

时间:2012-02-05 14:37:42

标签: php jquery ajax variables

我想将一个变量从jquery传递给php,但是我的代码不起作用。我很努力但没有运气。当我点击按钮时没有任何反应.plz帮助谢谢

还有一件事,我尝试了这个没有传递变量,我只使用echo命令然后它工作,但当我传递变量没有任何发生

<html>
    <head>
     <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
   $("button").click(function(){
    var var_data = 5;
     $.ajax({
        url: "myscript.php",
        data: { var_php_data: var_data },
        success: function(data) {
            // do something;
                              alert(data);
        }
 });
  });
   </script>
  </head>
  <body>


<button>Change Content</button>

   </body>
  </html>

myscript.php包含以下代码

    <?php
  echo $_GET['var_php_data'];
   ?>

3 个答案:

答案 0 :(得分:5)

尝试将文档包装在文档就绪处理程序中。在您应该删除的成功回调之后,您还有一个尾随逗号(,)。另外,您应该在,参数后使用;而不是data。为AJAX请求指定HTTP谓词可能也很有用:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('button').click(function() {
                var var_data = 5;
                $.ajax({
                    url: 'myscript.php',
                    type: 'GET',
                    data: { var_PHP_data: var_data },
                    success: function(data) {
                        // do something;
                        alert(data);
                    }
                });
            });
        });
    </script>
</head>
<body>
    <button>Change Content</button>
</body>
</html>

您需要将单击注册包装在文档就绪处理程序中的原因是因为您将脚本放在标记的<head>部分中,并且当您尝试执行时,浏览器尚未加载该按钮订阅其点击处理程序。

答案 1 :(得分:0)

您可以安装Firebug(Firexox插件),或者为浏览器安装类似的用户,以查看真实的HTTP请求和响应。如果你将它们发布在这里,找到问题会更简单。

答案 2 :(得分:0)

在FireBug中跟踪请求。您可以通过FB找到请求成功(200)以及按要求发送的日期 另外,请尝试http:// {your_host}&gt; /myscript.php?var_PHP_data = echoText

增加: Darin Dimitrov正确地描述了这个问题