为什么我的ajax查询不起作用,但如果我将数据直接放入php代码中,它就起作用了?
为什么我的ajax查询不起作用,但如果我将数据直接放入php代码中,它就起作用了? 如何查看php从ajax接收到的内容 这不起作用:为什么我的ajax查询不起作用,但如果我将数据直接放入php代码中,它就起作用了?,php,ajax,Php,Ajax,为什么我的ajax查询不起作用,但如果我将数据直接放入php代码中,它就起作用了? 如何查看php从ajax接收到的内容 这不起作用: function calculprix(callback) { $.ajax({ url: 'getinfo.php', type: 'POST', data: { id: JSON.st
function calculprix(callback) {
$.ajax({
url: 'getinfo.php',
type: 'POST',
data: {
id: JSON.stringify(idarr)
},
dataType: 'json',
success: function(callback) {
console.log(callback);
}
})
};
$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);
这是ajax发送到getinfo.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);
getinfo.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代码中,它会起作用:
function calculprix(callback) {
$.ajax({
url: 'getinfo.php',
type: 'POST',
data: {
id: JSON.stringify(idarr)
},
dataType: 'json',
success: function(callback) {
console.log(callback);
}
})
};
$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\u decode($data,true)
在foreach
内部,您可以执行许多查询以按id获取数据。您可以通过使用…其中id位于(1,2,3)
运行一个查询来优化它,这样,无论您有多少id,查询只执行一次。