将变量从jquery传递给php

aks*_*728 -2 php variables ajax jquery

我想将一个变量从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>
Run Code Online (Sandbox Code Playgroud)

myscript.php包含以下代码

    <?php
  echo $_GET['var_php_data'];
   ?>
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 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>
Run Code Online (Sandbox Code Playgroud)

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

  • @Krish,如果你的脚本是在你订阅某些事件的实际DOM元素之前定义的,那么你需要这样做.如果你把脚本放在结束`</ body>`标签之前的末尾,你不需要它. (2认同)