我正在尝试将数据发送到我的PHP文件,该文件在DB中插入值(这部分没问题),然后将JSON编码数据发送回JavaScript文件,以便我可以显示它们但它不起作用。我不知道出了什么问题。我一直在寻找许多有用的例子,地雷也不起作用。
$.ajax({
type: "POST",
dataType: "json",
url: "requete.php",
data: data,
success: function(data) {
if (data.success == true) {
alert(data.message);
}
},
error: function(errorThrown) {
alert('error');
}
});
数据被正确发送到PHP并插入到DB中,但以下json将不会显示:
if (isset($_POST['action']) && $_POST['action'] == 'add_attribution') {
$nom = $_POST['nom'];
$date = $_POST['date'];
$montant = (int)$_POST['montant'];
$type = utf8_decode($_POST['type']);
$sql = "insert into bo_depenses (montant,date,personne,description,carte) values('$montant','$date','','$nom','$type')";
$result = mysql_query($sql);
$data = array('success'=> true,'message'=>'Success message: hooray!');
echo json_encode($data);
使用此代码,控制台返回“Object”,并将数据发送到PHP / MySql(??)
感谢您的帮助
UPDATE :我设法通过输入错误来获取json结果:
var obj = JSON.stringify(data)
alert(obj);
事实证明,它显示了我发送到我的PHP脚本的第一个值(插入数据库),而不是I JSON编码的那个......为什么?
答案 0 :(得分:0)
尝试使用
if ($.trim(data.success) == 1)
有时回来我遇到了类似的情况,因为我解决了使用这个
答案 1 :(得分:0)
将header("content-type: application/json");
放在 echo
之前。