Pergunta

Estou desenvolvendo um balão de notificação para minha rede social.Me deparei com esse erro quando há 2 ou mais notificações.Verifiquei minha resposta JSON em jsonlint.com, e recebi um erro na linha 6.

Resposta JSON:

    {
    "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>"
}

aqui está minha parte do PHP:

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

echo json_encode($ret_arr);

aqui está minha 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);
        }
    });
}

Como posso fazer isso!

Obrigado rapazes.

Foi útil?

Solução

Seu JSON está faltando os colchetes e a vírgula entre os objetos.

Deveria ser assim:

[
  {
    "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>"
  }
]

Outras dicas

Copie e cole seu JSON em JSONLint - é um validador JSON que mostra qual e onde exatamente está o seu problema e se é válido ou não.

Matthew está certo, esta é apenas uma dica de como descobrir sozinho se você tiver o mesmo problema na próxima vez.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top