当前位置: 代码迷 >> JavaScript >> 通过 AJAX 将 javascript 变量传递给 PHP 变量的问题
  详细解决方案

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

热度:44   发布时间:2023-06-05 14:14:47.0

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

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

data: {idAttr : 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>

这是我的 profile.php 代码:

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

您必须将数据发送为

data: {var1: value1, var2 : value2}

你有以下,这是不正确的

data: idAttr : idAttr

您还可以像在 jquery 中一样传递该数据,

data : "idAttr ="+ idAttr;

在 PHP 端

$idAttr = $_POST['idAttr'];
  相关解决方案