Pregunta

Estoy desarrollando una notificación de globo para mi red social.Me encontré con este error cuando hay 2 o más notificaciones.Revisé mi respuesta JSON en jsonlint.com , y tengo un error en la línea 6.

JSON Respuesta:

    {
    "nid": "1101",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " has commened on your <a href=\"wall_action.php?id=1463\">post<\/a>"
}{
    "nid": "1100",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " likes your <a href=\"wall_action.php?id=1463\">post<\/a>"
}

Aquí está mi parte PHP:

$ret_arr = array('nid' => $nid2,'img' => $img, 'notifier' => $notifier, 'url' => $url);

echo json_encode($ret_arr);

Aquí está mi parte JS:

    function noob()
{
    jQuery.ajax({
        url: 'notifications.php?n=1',
        dataType: 'json',
        success: function(data){
            alert('Success!');
        },
        error: function(requeset, textStatus, errorThrown){
            alert('error:'+textStatus);
        }
    });
}

¿Cómo puedo hacer eso?

gracias chicos.

¿Fue útil?

Solución

Su JSON le falta los soportes de la lista y la coma entre objetos.

Debe parecerse:

[
  {
    "nid": "1101",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " has commened on your <a href=\"wall_action.php?id=1463\">post<\/a>"
  },
  {
    "nid": "1100",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " likes your <a href=\"wall_action.php?id=1463\">post<\/a>"
  }
]

Otros consejos

Copia y pegue a su JSON en jsonlint - Es un validador de JSON que le muestra qué y dónde exactamente es su problemay si es válido o no.

Matthew tiene razón, esto es solo una sugerencia de cómo encontrarlo por sí mismo si se ejecuta en el mismo problema la próxima vez.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top