2010-11-25 18 views
0

Je télécharge un fichier dans un iframe (avec le nom et l'id = upload_target) sur un serveur. En réponse, il crée un style JSON de rappel:Comment analyser la chaîne html de l'iframe soumis

« résultat »: « true »

Je suis en train ce qui suit. Sur l'action onload de mon IFrame J'ai ajouté un écouteur d'événement, qui devrait exécuter la fonction des données saisissant:

function fileUploadFunction(){ 
    (...) 
    $("#upload_target").onload = uploadDone; 
    (...)   
}; 

function uploadDone() { 
    alert("uploadDone"); 
    var ret = frames['upload_target'].document.getElementsByTagName("body")[0].innerHTML; 
    var data = eval("("+ret+")"); 

    if(data.result == 'true') { 
     alert("GREAT SUCCESS !!");    
    } 
    else { 
     alert("GREAT FAILURE :("); 
    } 
} 

Mais par conséquent, je ne reçois pas quoi que ce soit. Devrais-je retourner le statut de rappel sous une forme différente, ou peut-il être résolu différemment? Parce que même la première alerte de uploadDone n'est pas affichée problème se situe probablement ailleurs.

Répondre

0

Probablement la raison pour laquelle rien ne se passe est en raison de la façon funky que vous avez de détecter qu'un iFrame est chargé. Vérifiez la publication jQuery .ready in a dynamically inserted iframe. Je suppose que vous utilisez jQuery.