Javascript PHP不执行Vue.JS中通过Axios调用的函数

Javascript PHP不执行Vue.JS中通过Axios调用的函数,javascript,php,html,vue.js,axios,Javascript,Php,Html,Vue.js,Axios,我正在尝试编写一个Vue.JS模块来进行一些数据处理,并将变量发送到一个单独文件中的PHP函数。我使用Axios将参数解析为PHP。现在的问题是,Axios请求到达PHP文件,但PHP实际上并没有调用打算调用的函数 来自Vue应用程序的PHP调用: axios.post('./crmFunctions.php',{ params: { function2call:"sendQuery", id:1, mid:1, message: "Hello there!", event:"Query" }}

我正在尝试编写一个Vue.JS模块来进行一些数据处理,并将变量发送到一个单独文件中的PHP函数。我使用Axios将参数解析为PHP。现在的问题是,Axios请求到达PHP文件,但PHP实际上并没有调用打算调用的函数

来自Vue应用程序的PHP调用:

axios.post('./crmFunctions.php',{ params: { function2call:"sendQuery", id:1, mid:1, message: "Hello there!", event:"Query" }})
.then(response => this.responseData = response.data)
.catch(error => {});
PHP解释代码:

if(isset($_POST['function2call']) && !empty($_POST['function2call'])) {
    if( !isset($_POST['arguments']) ) { $aResult['error'] = 'No function arguments!'; }{
    $function2call = $_POST['function2call'];

    switch($function2call) {

    case 'sendQuery' : sendQuery($_POST['arguments'][0],$_POST['arguments'][1],$_POST['arguments'][2],$_POST['arguments'][3]);
    break;
    case 'other' : // do something;break;
        // other cases
    }
}
}

这个代码哪里出了问题?我以前曾在AJAX上调用过相同的函数。

使用axios发送的数据不会放入PHP的
$\u POST
。 相反,它位于请求体中,很可能是json格式。 要获取它,请尝试以下代码:

函数getRequestDataBody() { $body=文件\u获取\u内容('php://input'); if(空($body)){ 返回[]; } //解析json正文并在发生错误时通知 $data=json_decode($body,true); if(json\u last\u error()){ 触发器错误(json\u last\u error\u msg()); 返回[]; } 返回$data; } $data=getRequestDataBody(); 变量转储($data)
我试过你的答案。但它仍然拒绝工作。我可以在网络的headers部分看到PHP接收的数据作为请求负载。对不起,我错了。我更新了我的答案以获得新的解决方案。你能试试吗?