php - 为什么我的 ajax 查询不起作用,但如果我将数据直接放入 php 代码中它会起作用?
问题描述
为什么我的 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);
推荐阅读
- javascript - 将 blob 转换为 WAV 文件而不会丢失数据或压缩
- python - Mac:使用和不使用 py2app 构建 python 应用程序时终端卡住
- asp.net-core - WebHost 从 appsettings.json 读取哪些值
- django - Django模板中字符串变量内的变量值
- java - 在带有 Hibernate 的 ManyToMany 实体中使用级联是一种好习惯吗?
- css -
- c++ - static_cast 带走 constness
- reactjs - 如何使用多条路由重定向?
- laravel - Laravel 刀片。刀片不起作用
- python - 熊猫输出格式奇怪的数据框