如何在Angular的POST请求中向PHP传递多种数据类型
解决方案
你只需要把selectedButton和result一起打包到POST请求的参数对象中,Angular会自动把这些数据发送给PHP,这样就能在后端分别获取两个值了。
修改Angular代码
把原来的POST请求参数从只包含data的对象,改成同时包含data和selectedButton的对象就行:
function send(result, selectedButton) { console.log(selectedButton) // 将selectedButton加入到POST的参数对象里 return $http.post(apiUrl + 'write_to_database.php', { 'data': result, 'selectedButton': selectedButton }).then(function(data){ return $q.when(data); }); }
确认PHP代码
你原来的PHP代码已经写好了获取selectedButton的逻辑,完全可以直接用:
$data = $_POST['data']; $selectedButton = $_POST['selectedButton']; // 接下来就可以根据$selectedButton的值处理不同的数组逻辑了
额外提示
如果之后遇到$_POST拿不到数据的情况,可能是Angular默认发送了JSON格式的请求体,这时候你需要在PHP里用以下方式解析:
$requestBody = json_decode(file_get_contents('php://input'), true); $data = $requestBody['data']; $selectedButton = $requestBody['selectedButton'];
不过从你说已经能正确接收$data来看,当前的请求格式是兼容$_POST的,所以直接用你原来的PHP代码就没问题。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

