如何在某些PHP代码中使用jQuery var?

时间:2013-07-24 13:28:14

标签: php jquery variables post get

我知道这个主题有几个主题,但在我花了2到3个小时试图从中获得好处后,我才决定在特定点上提出这个问题。

所以这是我的问题:我有一个表,我使用jQuery函数来选择该表的一行。现在我真正想做的是获取包含在行的第一个td中的div的文本内容。

我已经在其上使用了一个getter,我正在使用警报检查getted值,如下面的代码所示:

    $("#myRow").click(function() {
        $(".selectedRow").removeClass("selectedRow").addClass("unselected");
        $(this).addClass("selectedRow").removeClass("unselected");
        var myValue = $(".selectedRow .firstTd div").text();
        alert('myValue');
    });

所以现在,我要做的是通过这段代码替换我的警报,通过ajax请求发送myValue变量:

    $.ajax({
        type: 'get',
        url: 'index.php',
        data: {"myValue" : myValue},
        success: function(rs)
        {
            alert(myValue);
        }
    });

然后,回到我的PHP代码,我想通过使用echo来观察获得的变量,就像这样:

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

但是我无法知道我的页面是否因为回声只是打印而没有...所以我想知道是否有人可以为我做点什么。感谢。

PS:哦,顺便说一下;我真的不知道这是否重要,但我的页面index.php已经通过帖子接收数据。

5 个答案:

答案 0 :(得分:1)

你不能,但读this,php在服务器上,而js通常在客户端运行,但你的ajax技巧可以工作。只需在接收php中进行一些处理。

我通常将我的ajax接收结束放在另一个文件中,然后通过发布的变量处理其余部分。

尝试将$_GET['myValue'];放入if或switch。

答案 1 :(得分:0)

执行请求var的var转储以查看是否有任何事情发生:

<?php
var_dump($_REQUEST);

如果没有,请在'myValue'上执行console.log()以确保它在发送ajax请求之前存在 - 问题可能在于你的js而不是你的php。

答案 2 :(得分:0)

如果您要发布数据,请相应调整 - 例如

$.ajax({
        type: 'post',
        url: 'index.php',
        data: {"myValue" : myValue},
        success: function(data)
        {
            console.log('successfuly posted:');
            console.log(data);
        }
    });

然后:

<?php echo $_POST['myValue']; ?>

如果您使用GET,您的数据将在网址中,例如:

index.php?myValue=something

答案 3 :(得分:0)

我不确定你是否意识到这一点,但你应该将你的功能包装在文件就绪声明中,如下所示。 接下来,在某些操作上调用AJAX请求,在这种情况下,我们可以单击表中的行。

$(document).ready(function () {
   $("#myRow").click(function() {
      $(".selectedRow").removeClass("selectedRow").addClass("unselected");
      $(this).addClass("selectedRow").removeClass("unselected");
      var myValue = $(".selectedRow .firstTd div").text();
      alert('myValue');

     $.ajax({
       type: 'get',
       url: 'index.php',
       data: {"myValue" : myValue},
       success: function(data)
       {
          console.log('you have posted:' + data.myValue);
       }
     });

  });

});

答案 4 :(得分:0)

好的,似乎我完全误解了$ .ajax函数的工作方式。 我现在使用$ .post函数(实际上是相同的),这样:

    $.post('pageElement.php', { myValue : $(".selectedRow .firstTd div").text() },
        function(data) { $("#test").html(data); }
    );

网址“pageElement.php”是指包含此代码的网页:

    <div><?php echo $_POST['myValue']; ?></div>

在进程结束时调用的函数只是将此代码放入原始页面的div中,因此我现在可以将其用作php变量,然后通过表单将其发送到另一个页面。