2012-04-03 18 views
1

Wenn ich diese json AntwortValidierung mit json - Ajax

{"error":"repeated"} 

Warum die Warnung nicht gezeigt wird? Es ist irgendwo dataType: "json"?

$(function() { 
     $("#box a").click(function() { 
      var selectedId = $(this).attr("class"); 

      $.post("new_list.php", { 
       id_user: <?php echo $id;?>, 
       id_list: selectedId 
      }, function (data) { 
        if(data.error == 'repeated') { 
         alert("error"); 
        } 
      }); 
     }); 
    }); 

dank

Antwort

2

Es wird nicht automatisch als JSON zu analysieren, wenn Sie es sagen.

$(function() { 
    $("#box a").click(function() { 
     var selectedId = $(this).attr("class"); 

     $.post("new_list.php", { 
      id_user: <?php echo $id;?>, 
      id_list: selectedId 
     }, function (data) { 
       if(data.error == 'repeated') { 
        alert("error"); 
       } 
     }, 
     "json"); //Here, add this as last parameter 
    }); 
}); 
1

Es wäre eine Frage der die Antwortzeichenfolge in ein Javascript-Objekt konvertieren:

function (data) { 
    // Parse the JSON 
    data = JSON.parse(data); 

    if(data.error == 'repeated') { 
     alert("error"); 
    } 
} 

Obwohl Sie nur, anstatt die jQuery.getJSON Funktion nutzen zu können, selbst speichern einige Mühe

0

Überprüfen Sie, ob Ihre Antwort ist eine Zeichenfolge anstelle eines Objekts. Dann müssen Sie

var obj = jQuery.parseJSON(data); 

nennen Und verwenden obj.error zu überprüfen, ob es wiederholt "wird

0
$(function() { 
     $("#box a").click(function() { 
      var selectedId = $(this).attr("class"); 

      $.post("new_list.php", { 
       id_user: <?php echo $id;?>, 
       id_list: selectedId 
      }, function (data) { 
        if(data.error == 'repeated') { 
         alert("error"); 
        } 
      },dataType: "json"); 
     }); 
    }); 

Der folgende Ausschnitt lässt jquery wissen Sie erwarten json.