Question

J'utilise Uploadify avec jquery 1.4 pour télécharger des images. Dans le script php qui télécharge les fichiers que nous imprimons ceci:

$json_response['status'] = "true";
$json_response['file'] = $_FILES;
echo Zend_Json_Encoder::encode($json_response);

En javascript nous (en bref):

$('#images_upload_file').uploadify({

    onComplete: function(event, queueID, fileObj, response, data) {

            console.log("upload complete");
            console.log(response);

la « réponse » est toujours vide, peu importe quoi. Événement, queueID, fileobj et les données sont tous remplis correctement. Est-ce que quelqu'un sait comment résoudre ce problème?

Faites-moi savoir si vous avez besoin de plus amples informations. PS: nos ajouts de code images très bien, juste la réponse est vide tout le temps depuis que nous avons surclassé dans JQuery 1.4

Était-ce utile?

La solution

J'utilise toujours json2.js pour traiter les données JSON. Cette bibliothèque a mécanisme de sécurité au cas où les données ne sont pas au bon format JSON. Vous pouvez l'obtenir http://json.org , assurez-vous de télécharger le fichier js, ne pas l'utiliser directement à partir de leur site.

Mon code ressemble toujours à ceci:

onComplete : function (event, queueID, fileObj, response, data) {
  //process response
  try {
    var r = JSON.parse(response);
    //process the JSON data, ex
    console.log(r.status); 
  }
  catch(e) {
    //not json or bad format, do something about it
    alert("cannot parse data as json!");
  }
}

La raison pour laquelle j'utilise json2.js est parce que mon script php ont le contrôle de session et redirigera si la session est pas acceptée. Il fait avant d'entrer dans la page, en utilisant le module de filtre, donc je ne peux pas vérifier si une requête AJAX, ou accès à la page normale. Si la session requise ne se satisfait pas la règle de la page, il redirigera immédiatement, il retournera une page Web complète.

Cela fait la réponse est pas le bon format JSON. En utilisant json2.js je peux le manipuler dans le bloc catch, puis faire une autre action, rechargeant la page en cours par exemple. Ceci est juste quelque chose que je l'utilise toujours, et travaille toujours pour moi.

Pour votre information, json2.js pas besoin et non lié avec jQuery du tout.

Autres conseils

est error_reporting activé dans le script PHP?

pourrait-il être une erreur fatale (par exemple parce qu'il ne peut pas charger la classe Zend_Json_Encoder) qui n'est pas sortie à cause du réglage error_reporting?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top