簡體   English   中英

從JSON檢索數據時出現Ajax錯誤

[英]Ajax error when retrieving data from JSON

我試圖將數據發送到我的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)

有時回來我遇到了類似的情況,我用這個解決了

放置header("content-type: application/json"); echo之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM