通过AJAX将javascript变量传递给PHP变量的问题

时间:2019-02-25 11:36:34

标签: javascript php jquery ajax

我正在尝试使用AJAX将变量从javascript传递到同一页面上的PHP变量。

我一直在浏览所有我能找到的帖子,即使之前被问过几次(如何通过ajax将javascript变量传递给php),我也无法正常工作。

这是我从其他帖子中读到的内容尝试的内容。但这是行不通的。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
  <script>
  $('#submitfakta').live('mouseover mouseout', function(e) {
    if (e.type == 'mouseover') {
        var idAttr = $(this).attr('value');
                        //alert($(this).attr('id'));
                        $.ajax({
                            type: "POST",
                            url: 'profile.php',
                            data: idAttr : idAttr 
                            success: function(data)
                            {
                                alert("success!");
                            }
                        });
                    });
    }
  });


  </script>

这是我的JavaScript代码,不使用AJAX。 使用javascript获取变量可以正常工作。但是它缺少将变量发送到同一页面上的php变量的部分。 通过浏览其他帖子,我尝试使用AJAX作为我上面的示例,但是正如前面提到的,没有运气。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
  <script>
  $('#submitfakta').live('mouseover mouseout', function(e) {
    if (e.type == 'mouseover') {
        var idAttr = $(this).attr('value');
        alert(idAttr);
    } 
  });


  </script>

我的PHP代码试图打印我的变量:

<?php
  $idAttr = $_POST['idAttr'];
  echo $idAttr;
  ?>

4 个答案:

答案 0 :(得分:1)

尝试发送这样的数据(数据必须是纯对象或字符串)

data: {idAttr : idAttr} 

并获取php

$idAttr = $_POST['idAttr']

答案 1 :(得分:1)

这是我的HTML和JS代码!

    <div id="submitfakta" value="abdulrehman" style="height: 200px; width: 200px; background-color: red;"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
  <script>
  $('#submitfakta').live('mouseover mouseout', function(e) {
    if (e.type == 'mouseover') {
        var idAttr = $(this).attr('value');
        //alert($(this).attr('id'));
        $.ajax({
            type: "POST",
            url: 'profile.php',
            data: {idAttr : idAttr },
            success: function(data)
            {
                alert("success! " + data);
            }
        });

    }
  });
  </script>

这是我的profile.php代码:

<?php 
echo $_POST["idAttr"]; exit; 

答案 2 :(得分:1)

您必须将数据发送为

data: {var1: value1, var2 : value2}

您有以下错误,这是不正确的

data: idAttr : idAttr

答案 3 :(得分:0)

您也可以像在jquery中那样传递数据,

data : "idAttr ="+ idAttr;

在PHP方面

$idAttr = $_POST['idAttr'];