为什么我的 ajax 查询不起作用,但如果我将数据直接放在 php 代码中它会起作用?我怎样才能看到 php 从 ajax 收到什么?
这不起作用:
function calculprix(callback) {
$.ajax({
url: 'getinfo.php',
type: 'POST',
data: {
id: JSON.stringify(idarr)
},
dataType: 'json',
success: function(callback) {
console.log(callback);
}
})
};
这是 ajax 发送到 getinfo.php 的内容:
获取信息.php :
$data = $_POST['id'];
foreach ($data as &$value) {
$sql = 'SELECT id, prix, remise FROM produitsav WHERE id =' . $value;
$reponse = $bdd->query($sql);
$donnees = $reponse->fetch();
$row = array($donnees['id'],$donnees['prix'],$donnees['remise']);
$result[] = $row;
}
echo json_encode($result);
但是如果我将数据直接放在 php 代码中,它就可以工作:
$data = ["13","920"];
foreach ($data as &$value) {
$sql = 'SELECT id, prix, remise FROM produitsav WHERE id =' . $value;
$reponse = $bdd->query($sql);
$donnees = $reponse->fetch();
$row = array($donnees['id'],$donnees['prix'],$donnees['remise']);
$result[] = $row;
}
echo json_encode($result);
您将其作为字符串发送。所以你需要先把它解码成php数组/对象。在你的情况下使用$data = json_decode($_POST['id']);
例如
$data = '["13", "920"]';
$data = json_decode($data);
print_r($data);
此外,如果您希望它作为关联数组,则使用 json_decode($data, true);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句