繁体   English   中英

使用AJAX将JavaScript变量传递给PHP函数

[英]Passing JavaScript variables to PHP function using AJAX

在我的dashboard.php中 ,有一个基于用户单击按钮而调用的Javascript函数。 单击该按钮时,它将调用一个名为getTeamMembers的JavaScript函数,并将值传递给它。 然后,传递给该函数的值将发送到PHP函数(也位于dashboard.php中)。

但是,我没有获得任何成功,希望有人可以指导我解决我的问题。 关于AJAX,我是一个菜鸟,所以我认为自己犯了一个愚蠢的错误。

我知道我的函数肯定是在执行快速window.alert(myVar);之后传递给它的预期变量数据window.alert(myVar); 在功能内。

这是我到目前为止的内容:

    function getTeamMembers(teamID,lecturer_id) {

        var functionName = 'loadTeamMembersChart';

    jQuery.ajax({
        type: "POST",
        url: 'dashboard.php',
        dataType: 'json',
         data: { functionName: 'loadTeamMembersChart', teamID: teamID, lecturer_id: lecturer_id },
         success: function(){
            alert("OK");
        },
        fail: function(error) {
            console.log(error);
        },
        always: function(response) {
            console.log(response);
        }
         }
       ); 
   }

在调用所需的php函数之前,我将在php Dashboard类开始于文件顶部之前收集发送的变量。 一旦确定它们确实存在,我计划将这些变量传递出去。

但是,当我单击该按钮时,发送的数据无法回显任何内容。

if ($_SERVER['REQUEST_METHOD'] == 'POST'){


if (!empty($_POST["teamID"]) && !empty($_POST["lecturer_id"]))
{
  $teamID = $_POST['teamID'];
  $lecturer_id = $_POST['lecturer_id'];
  echo $teamID;
  echo " is your teamID";
} 
else 
{

  echo "no teamID supplied";
}

}

您在成功函数中使用else语句,而这不是设置失败回调的方式,请尝试以下操作并告诉我们您在控制台中看到的内容。

function getTeamMembers(teamID,lecturer_id) {

    jQuery.ajax({
        type: "POST",
        url: 'dashboard.php',
        dataType: 'json',
        data: {functionname: 'loadTeamMembersChart', arguments: [teamID, lecturer_id]},
        success: function(data) {
            console.log(data);
        },
        fail: function(error) {
            console.log(error);
        },
        always: function(response) {
            console.log(response);
        }
    });
}

进入以下语句时,似乎您的函数未返回成功消息。

if ($result) {

        "Awesome, it worked"
     }

请尝试在字符串之前添加返回值。

if ($result) {
        return "Awesome, it worked";
     }

可能是其他因素,但是您提供的信息不足以进行任何进一步的分析。

暂无
暂无

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

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