2010-03-08 5 views
0

J'essaie de recevoir un objet json de php après avoir envoyé des données au fichier php à partir du fichier js.AJAX Retour Problème à partir des données envoyées via jQuery.ajax

Tout ce que je reçois est indéfini.

Voici le contenu du fichier php et js.

data.php

<?php 

action $ = $ _GET [ 'user'];

$ data = array ("prenom" => "Anthony", "last_name" => "Garand", "email" => "[email protected]", "password" => « changeme "); Switch ($ action) { case '[email protected]': echo $ _GET ['callback']. '('. json_encode ($ data). ');'; pause; ? }

>

core.js

$(document).ready(function(){ 
$.ajax({ url: "data.php", 
      data: {"user":"[email protected]"}, 
      context: document.body, 
      data: "jsonp", 
      success: function(data){renderData(data);} 
      }); 

});

fonction renderData (données) { document.write (data.first_name); }

+0

L'objet json n'est-il pas défini ou la valeur de first_name? (Essayez plutôt d'alerter les données.) – Jeremy

Répondre

1

Il semble que vous ayez défini deux options de données dans la fonction Ajax. Au lieu de la ligne

data: "jsonp", 

Vous avez besoin

dataType: "jsonp" 

Comme vous passez pas réellement le fichier PHP toute information.

Un autre couple de choses, assurez-vous que vous obtenez JSON valide (jsonlint.com), nous avons eu un problème similaire et il s'est avéré que nous avions le mauvais type de citations.

Enfin: Vous aurez peut-être besoin de JSON.parse (data) pour le convertir en un objet à la fin de Javascript.

+0

Essayez FireBug, affichez l'onglet Console et voyez ce que vous recevez. –

Questions connexes