jquery file upload – résultats de rappel IE dans object Object

Tous, je sais qu’il y a déjà une question à ce sujet: jquery file upload – IE done callback data.result issue

Cependant, j’ai le même problème et je ne sais pas comment le résoudre. J’ai eu un code de travail qui ressemble à ceci (basé sur la recommandation dans l’autre post):

if($.fn.wl_File) $.fn.wl_File.defaults = { forceIframeTransport: true, onDone: function (e, data) { var result = jQuery.parseJSON(data.result); var filename = result[0].name; } } 

Ce qui extrait parfaitement les informations de rappel dans Firefox, Chrome, etc. à l’exception de IE. Cependant, je récupère toujours un [object Object] auprès d’IE. Je reçois les résultats suivants lorsque je console.log(data.result) un console.log(data.result) dans Chrome:

 [{ "name": "1_3266_671641333369_14800358_42187036_5237378_n.jpg", "size": 35535, "type": "image\/jpeg", "url": "\/web\/upload\/1_3266_671641333369_14800358_42187036_5237378_n.jpg", "thumbnail_url": "\/web\/upload\/thumbnails\/1_3266_671641333369_14800358_42187036_5237378_n.jpg", "delete_url": "\/web\/upload.php?file=1_3266_671641333369_14800358_42187036_5237378_n.jpg", "delete_type": "DELETE", "upload_type": "video_assembly", "insert_id": "288" }] 

Je ne sais pas comment résoudre le problème. Sur la base de mon code, quelqu’un peut-il me diriger dans la bonne direction?

Pour info, j’utilise le thème suivant: http://revaxarts-themes.com/?t=whitelabel qui appelle le plug-in jquery upload et c’est pourquoi mon code est un peu différent en haut, mais c’est fondamentalement la même chose code du plugin.

Toute aide est grandement appréciée sur cette question frustrante!

J’ai trouvé la solution à cela à partir du message que j’ai mentionné dans ma question. Cependant, j’ai dû développer un peu pour satisfaire les différents navigateurs. La réponse initiale était juste sur la façon d’obtenir les données à partir d’IE, mais cette méthode ne fonctionnait pas pour les autres navigateurs. Je devais append une instruction if pour connaître le type de mon navigateur et procéder à partir de là. Mon code pour gérer ce scénario se présente comme suit:

 if($.browser.msie){ var data_to_parse = $( 'pre', data.result ).text(); }else{ var data_to_parse = data.result; } var result = jQuery.parseJSON(data_to_parse); var filename = result[0].name; 

Je peux maintenant manipuler la réponse des navigateurs IE et autres!

console.log dans IE n’est pas fantastique, comme dans d’autres navigateurs, il est normal d’obtenir un object Object. Ce que vous pouvez faire, c’est démarrer les outils de développement (F12) et append un point d’arrêt dans la ligne:

  var result = jQuery.parseJSON(data.result); 

Pour plus de détails sur la façon de déboguer: Comment vider des fichiers vars JavaScript dans IE8?

Il vaut également la peine de lire, utilisez firebug lite: jQuery se connectant dans IE: comment obtenir un object?