2010-04-15 10 views
0

J'ai un peu de mal à faire reconnaître mon JSON par ma page web. J'ai validé JSON que je suis retourné du serveur, donc je sais que c'est correct, mais ma fonction javascript ne fait rien avec elle. Ma fonction de succés est la suivante:JSON n'est pas reconnu

success: function(data) { 
    $('input[name=customer_name]').val(data.name); 
    $('textarea[name=customer_address]').text(data.address); 
    $('input[name=customer_email]').val(data.email); 
    $('input[name=customer_tel]').val(data.tel); 
    $('input[name=user_id]').val(item.id); 
} 

Pourtant, les champs ne sont pas repeuplé avec les données qui est renvoyée, si elle aide, un échantillon de mes données JSON:

{ 
    "name": "Terry O'Toole", 
    "address": "Terrys House\nTerry Street\nTerrysville\nTerrytown\nTT1 6TT", 
    "email": "[email protected]", 
    "tel": "05110000000" 
} 

Toute aide serait apprécié.

[EDIT]

appel ajax élargi:

$.ajax({ 
    url: "<?php echo site_url('user/users/ajax'); ?>", 
    type: 'POST', 
    data: {"userid": item.id}, 
    success: function(data) { 
    $('input[name=customer_name]').val(data.name); 
    $('textarea[name=customer_address]').text(data.address); 
    $('input[name=customer_email]').val(data.email); 
    $('input[name=customer_tel]').val(data.tel); 
    $('input[name=user_id]').val(item.id); 
    } 
}) 
}); 
+0

Il serait utile de voir plus de code, car rien ne semble mal avec ce que vous avez posté. À quoi ressemble votre appel ajax? – Pointy

+0

Ajout de l'ajax étendu. – richzilla

+0

'' indique le code PHP. Ce n'est pas pertinent pour JavaScript: vous devez regarder le code source * généré *. Aussi, utilisez-vous jQuery? –

Répondre

6

Je suppose que vous utilisez jQuery (de la fonction vous val à l'aide). Spécifiez-vous le paramètre dataType à $.ajax? .: par exemple

$.ajax({ 
    url: "blah", 
    dataType: "json", 
    success: ... 
}); 

Dans le cas contraire, il ne peut pas être devinant (peut-être vous n'êtes pas renvoyer le type de contenu à droite?) Et vous devrez utiliser JSON.parse dessus. Mais mieux à A) Définir le type de contenu correct sur la réponse, et B) utiliser dataType pour exprimer votre intention dans le code.

Édition Vous venez de voir votre modification. Essayez certainement d'ajouter dataType.

+0

Ha l'a eu. Ajout du type de données a travaillé un régal. Merci pour l'aide – richzilla

+2

@richzila: Si cette réponse a fonctionné pour vous, cochez-la comme acceptée. –

+0

@richzila: Pas de soucis, content que c'était ça. –