繁体   English   中英

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

[英]How can I use a jQuery var in some php code?

我知道有一些关于这个主题的话题,但是在我花了2到3个小时试图从中获得好处之后,我才决定在特定点上问这个问题。

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

我已经在上面使用吸气剂,并且正在用警报检查吸气值,如以下代码所示:

    $("#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已经通过帖子接收数据。

您不能,但请阅读此文章 ,php在服务器上,而js通常在客户端上运行,但是您的ajax技巧可以起作用。 只需在接收PHP中进行一些处理即可。

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

只需尝试放入$_GET['myValue']; 进入if或switch

对请求var进行var转储,以查看是否有任何消息通过:

<?php
var_dump($_REQUEST);

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

如果您要发布数据,则进行相应调整-例如

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

然后:

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

如果您使用的是GET,则数据将位于url中,例如:

index.php?myValue=something

我不确定您是否知道这一点,但是应将函数包装在文档准备好的语句中,如下所示。 接下来,对某些操作调用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);
       }
     });

  });

});

好吧,看来我完全误解了$ .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变量,然后通过表单将其发送到另一个页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM