Php 从JSON检索数据时出现Ajax错误

Php 从JSON检索数据时出现Ajax错误,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我正在尝试将数据发送到我的PHP文件,该文件在DB中插入值。这部分是可以的,然后将JSON编码的数据发送回JavaScript文件,这样我就可以显示它们了,但它不起作用。我不知道到底出了什么问题。我一直在看很多有效的例子,但我的不起作用 $.ajax({ type: "POST", dataType: "json", url: "requete.php", data: data, success: function(data) { if

我正在尝试将数据发送到我的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);
有了这段代码,控制台将返回带有发送到PHP/MySql的数据的对象

谢谢你的帮助

更新:我通过输入以下错误来获得json结果:

  var obj = JSON.stringify(data)
  alert(obj);
事实证明,它显示了我发送到PHP脚本中要插入到DB中的第一个值,而不是我用JSON编码的值。。。为什么?

尝试使用

if ($.trim(data.success) == 1)

有时我也会遇到类似的情况,我解决了这个问题,使用这个

Put headercontent类型:application/json;在echo之前。

放置console.logdata;在成功功能开始时:登录什么?这将告诉您1呼叫是否成功,2完整响应是什么。更新您的问题以显示您的发现。或者使用控制台的“网络”选项卡:requete.php请求是否成功,并将完整的响应发布到您的问题中。尝试使用if data.success==“true”{.php可能会将其转换为字符串。requete.php实际返回的是什么?确保php中没有无关的输出,并且返回的唯一内容绝对是json_编码。ErrorSprown的值是多少?它是否正在进入您的ajax调用的成功块?谢谢,但仍然是相同的。如果改为if data.Success,请尝试将您的成功更改为if data.Success{…}。可能还需要删除数据类型:json