通过AJAX将javascript变量传递给PHP变量时出现问题

通过AJAX将javascript变量传递给PHP变量时出现问题,javascript,php,jquery,ajax,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>

我正在尝试使用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>

$('#submitfakta').live('mouseover mouseout',函数(e){
如果(e.type=='mouseover'){
var idAttr=$(this.attr('value');
//警报($(this.attr('id'));
$.ajax({
类型:“POST”,
url:'profile.php',
数据:idAttr:idAttr
成功:功能(数据)
{
警惕(“成功!”);
}
});
});
}
});
这是我单独编写的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>

$('#submitfakta').live('mouseover mouseout',函数(e){
如果(e.type=='mouseover'){
var idAttr=$(this.attr('value');
警报(idAttr);
} 
});
试图打印变量的PHP代码:

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

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

然后进入php

$idAttr = $_POST['idAttr']

这是我的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>

$('#submitfakta').live('mouseover mouseout',函数(e){
如果(e.type=='mouseover'){
var idAttr=$(this.attr('value');
//警报($(this.attr('id'));
$.ajax({
类型:“POST”,
url:'profile.php',
数据:{idAttr:idAttr},
成功:功能(数据)
{
警报(“成功!”+数据);
}
});
}
});
下面是我的profile.php代码:

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

您必须以

data: {var1: value1, var2 : value2}
您有以下内容,这是不正确的

data: idAttr : idAttr

您也可以像jquery一样传递数据

data : "idAttr ="+ idAttr;
在PHP方面

$idAttr = $_POST['idAttr'];

您需要将值作为对象提供给
data
data:{idAttr:idAttr}
。投票结束是一个打字错误。另请注意,jQuery 1.5.2非常过时(您至少应该使用1.12.1),而且
live()
已被弃用。请改用()上的
委派签名。
。危险:jQuery 1.5.x已经过期,并且存在已知的安全问题。升级到受支持的jQuery版本。@Rorymcrossan我现在尝试用on()升级并更改live(),但现在我的javascript没有ajax无法工作。如果你不关闭我的帖子,我将不胜感激?我试图了解这是如何工作的,通过更改我的数据输入也不能使它工作。如果您在升级jQuery版本时遇到问题,我建议您开始一个新问题,确保包括所有控制台错误的详细信息以及与该错误相关的所有代码。我的主要问题是从我的javascript获取变量(javascript本身在没有AJAX的情况下工作)然后通过AJAX将这个变量传递给我的PHP变量。我在本地做这个项目,昆汀指出的安全问题并不像我在这里的帖子所建议的那样是一个问题。它不起作用。谢谢你的帮助,我很感激。怎么可能,它必须起作用。告诉我发生了什么ned?你有什么错误吗?请告诉我,这样我就可以帮你了。当我悬停在我的按钮上时,现在什么都没有发生。我正在使用javascript悬停在按钮上,获取值,该值是我想要在php变量中获取的值,这样我就可以使用它进行SQL查询。如果我在没有ajax的情况下使用脚本,当我悬停在按钮上时,我会得到一个n显示值的警报框。表示您不再需要帮助,对吗?您已经用另一个技巧自己完成了吗?检查我已经编辑了我的答案,它在我这边工作得很好。我刚刚创建了一个index.html文件,并将我的html div与属性值放在一起,然后放置您的js代码。然后我创建了一个profile.php文件及其工作性能T
$idAttr = $_POST['idAttr'];