如何使用ajax将javascript变量传递给php

如何使用ajax将javascript变量传递给php,javascript,php,ajax,variables,Javascript,Php,Ajax,Variables,我试图将单击按钮时得到的javascript变量传递给php,然后运行mysql查询。我的代码: function ajaxCall(nodeID) { $.ajax({ type: "POST", url: "tree.php", data: {activeNodeID : nodeID}, success: function(data) { alert("Success!"); } } ); } function onButtonClick(e, data) { s

我试图将单击按钮时得到的javascript变量传递给php,然后运行mysql查询。我的代码:

function ajaxCall(nodeID) {
 $.ajax({
 type: "POST",
 url: "tree.php",
 data: {activeNodeID : nodeID}, 
 success: function(data) { 
 alert("Success!");
  }
 }
);
}

function onButtonClick(e, data) {
 switch (data.name) {
  case "add":
   break;
  case "edit":
   break;
  case "delete":
   nodeid = data.context.id;
   ajaxCall(nodeid);
   //query
   break;                                   
   }
}


<?php
      if (isset($_POST['activeNodeID'])) {
       $nodeid = $_POST['activeNodeID'];
      }
      else {
       $nodeid = 0;
      }
      ?>
函数ajaxCall(nodeID){
$.ajax({
类型:“POST”,
url:“tree.php”,
数据:{activeNodeID:nodeID},
成功:函数(数据){
警惕(“成功!”);
}
}
);
}
功能按钮点击(e,数据){
开关(data.name){
案例“添加”:
打破
案例“编辑”:
打破
案例“删除”:
nodeid=data.context.id;
ajaxCall(nodeid);
//质疑
打破
}
}
我以前没有这样做过,所以我不知道为什么这不起作用。有什么建议吗?
编辑:也许我解释得不够好。我意识到php是服务器端,javascript是客户端。我有一个使用javascript显示的组织结构图,它基于保存在数据库中的所有信息。我需要做的是:单击其中一个javascript按钮(编辑、删除、添加)时,获取活动节点的ID,并将其用作php中的变量来运行查询。例如,删除数据库中的行。最好的方法是什么?

这里有一点混乱,
success
值存储了一个回调,当Ajax调用成功时调用该回调。举一个简单的例子,假设您有一个如下的Ajax调用:

function ajaxCall(nodeID) {
    $.ajax({
      type: "POST",
      url: "tree.php",
      data: {activeNodeID : nodeID}, 
      success: function(data) {
        console.log(data.my_message); 
      }
    });
这将调用一个名为
tree.PHP
的PHP页面。在这个页面中,您进行一些计算,然后返回一个值,在本例中为JSON。因此页面看起来是这样的(请注意,我保持简单,您应该始终验证输入值):


这个简单的PHP页面将该字符串作为JSON返回。在javascript中,在指定的回调(即
success
)中,您将
数据
作为包含PHP的
$to\u返回值的对象。您所写的内容没有真正意义,因为PHP是一种服务器语言,不能像JavaScript一样从浏览器中处理。

这里有一点混乱,
success
值存储了一个回调,当Ajax调用成功时会调用该回调。举一个简单的例子,假设您有一个如下的Ajax调用:

function ajaxCall(nodeID) {
    $.ajax({
      type: "POST",
      url: "tree.php",
      data: {activeNodeID : nodeID}, 
      success: function(data) {
        console.log(data.my_message); 
      }
    });
这将调用一个名为
tree.PHP
的PHP页面。在这个页面中,您进行一些计算,然后返回一个值,在本例中为JSON。因此页面看起来是这样的(请注意,我保持简单,您应该始终验证输入值):


这个简单的PHP页面将该字符串作为JSON返回。在javascript中,在指定的回调(即
success
)中,您将
数据
作为包含PHP的
$to\u返回值的对象。您所写的内容没有真正意义,因为PHP是一种服务器语言,不能像JavaScript一样从浏览器中处理。

这里有一点混乱,
success
值存储了一个回调,当Ajax调用成功时会调用该回调。举一个简单的例子,假设您有一个如下的Ajax调用:

function ajaxCall(nodeID) {
    $.ajax({
      type: "POST",
      url: "tree.php",
      data: {activeNodeID : nodeID}, 
      success: function(data) {
        console.log(data.my_message); 
      }
    });
这将调用一个名为
tree.PHP
的PHP页面。在这个页面中,您进行一些计算,然后返回一个值,在本例中为JSON。因此页面看起来是这样的(请注意,我保持简单,您应该始终验证输入值):


这个简单的PHP页面将该字符串作为JSON返回。在javascript中,在指定的回调(即
success
)中,您将
数据
作为包含PHP的
$to\u返回值的对象。您所写的内容没有真正意义,因为PHP是一种服务器语言,不能像JavaScript一样从浏览器中处理。

这里有一点混乱,
success
值存储了一个回调,当Ajax调用成功时会调用该回调。举一个简单的例子,假设您有一个如下的Ajax调用:

function ajaxCall(nodeID) {
    $.ajax({
      type: "POST",
      url: "tree.php",
      data: {activeNodeID : nodeID}, 
      success: function(data) {
        console.log(data.my_message); 
      }
    });
这将调用一个名为
tree.PHP
的PHP页面。在这个页面中,您进行一些计算,然后返回一个值,在本例中为JSON。因此页面看起来是这样的(请注意,我保持简单,您应该始终验证输入值):


这个简单的PHP页面将该字符串作为JSON返回。在javascript中,在指定的回调(即
success
)中,您将
数据
作为包含PHP的
$to\u返回值的对象。您编写的内容没有真正意义,因为PHP是一种服务器语言,不能像JavaScript一样从浏览器中处理。

这是您的PHP还是在tree.PHP文件中?PHP代码是在加载包含JavaScript代码的页面时执行的,而不是在进行Ajax调用时执行的(如果您有意这样做的话)。看看生成的JS代码。您将看到
success
回调的内容为空。请解释您试图实现的目标,以便我们能够更好地帮助您。这是您的PHP还是在tree.PHP文件中?PHP代码是在加载包含JavaScript代码的页面时执行的,而不是在进行Ajax调用时执行的(如果这是您的意图)。看看生成的JS代码。您将看到
success
回调的内容为空。请解释您试图实现的目标,以便我们能够更好地帮助您。这是您的PHP还是在tree.PHP文件中?PHP代码是在加载包含JavaScript代码的页面时执行的,而不是在进行Ajax调用时执行的(如果这是您的意图)。看看生成的JS代码。您将看到
success
回调的内容为空。请解释您试图实现的目标,以便我们能够更好地帮助您。这是您的PHP还是在tree.PHP文件中?PHP代码是在加载包含JavaScript代码的页面时执行的,而不是在进行Ajax调用时执行的(如果这是您的意图)。看看生成的JS代码。您将看到
success
回调的内容为空。请解释你想要达到的目标,这样我们才能更好地帮助你。回答得好,但你真的应该