IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

IE veut me télécharger la réponse JSON


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 18
    Points
    18
    Par défaut IE veut me télécharger la réponse JSON
    Bonjour

    Bon c'est un problème connu, mais cela fait 3 heures que je cherche et aucunes réponses données sur le net fonctionnent.

    FF quoi que je lui mets comme content-type de la réponse JSON cela fonctionne, IE si je lui mets comme content-type application/json , text/json, text/javascript, application/x-json, application/x-www-form-urlencoded, ... et j'en passe tellement j'ai essayé de combinaisons cela fonctionne, mais il me propose de télécharger le fichier.

    La seule différence est que si je lui dit que c'est du javascript il me rajoute l'extension js au fichier à télécharger. Il est gentil hein! Merci Microsoft.

    Et si je lui mets text/html ou text/plain comme je l'ai vu proposer maintes fois comme solutions ça ne fonctionne pas il m'affiche une page blanche avec en haut mon code JSON.

    Comment supprimer cette proposition de télécharger le fichier?

    Voici mon code :
    javascript (jQuery) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function show_formation(link){
            //alert(link.href);
            $('#ajax-loader').remove();
            $.ajax({
                type: "POST",
                url : link.href,
                dataType: 'json',
                contentType: "application/json",
                //contentType: "application/x-www-form-urlencoded;charset=utf-8",
                success : function(json){
                            $('#ajax-loader').remove();
                            $.each( json, function( key, value ) {
                                //alert( key + ": " + value
                                $('#'+key).val(value);
                            });
                            $('li.hide').removeClass('hide');
                            $('#tabform a[href="#fiche"]').tab('show');
                        }
                });
            return false;
        };
    php (CodeIgniter) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function fiche_Formation($idform){
                $this->db->select("LIBELLE, DESCRIPTION, THEME_FORMATION, ORGANISME_FORMATION, TYPE, MODULE");
                $arrayform = $this->db->get_where($this->table, array('ID' => $idform))->row_array(0);
                $this->output
                    ->set_header("Cache-Control: no-store, no-cache, must-revalidate")
                    ->set_content_type('text/json')
                    ->set_output(json_encode($arrayform));
            }
    J'en suis à me dire que je vais renoncer au JSON.

    Merci de m'aider

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Personne pour m'aider ?

    J'ai mieux cerner le problème. Comme cela ne voulais pas fonctionner avec une réponse JSON, j'ai essayer de coder une réponse html.

    Et bien même problème, alors que j'ai d'autres pages où j'utilise de l'ajax jquery avec des réponses html et où IE fonctionne bien, alors que sur cette page il m'affiche la réponse.

    La différence qu'il y a dans le mécanisme des autres pages et celle-ci est la suivante : dans les autres page, je fais ma requête ajax quand je quitte un champ, pour vérifier que la saisie est cohérente avec la base de donnée. Dans celle-ci, la requête ajax est déclenchée quand on clique sur un lien < a href=...

    Alors ma conclusion, c'est que malgré le return false renvoyé au bout de ma fonction show_formation et le onClick="return show_formation(this);" cette bouze d'IE persiste à suivre le lien.

    Alors j'ai pensé que quand la fonction callback de l'ajax success est exécutée, on n'arrive pas à faire le return false. Donc j'ai enlvé le return false de la fonction et j'ai tenté :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="show_formation(this); return false;"

    Cela n'a rien changé

Discussions similaires

  1. Caractère inconnu dans réponse JSON
    Par canardman dans le forum jQuery
    Réponses: 0
    Dernier message: 04/05/2011, 13h15
  2. réponse json mal formée ?
    Par Alexdezark dans le forum jQuery
    Réponses: 4
    Dernier message: 16/03/2010, 20h28
  3. Télécharger la réponse du WebRequest
    Par Invité dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/11/2009, 18h22
  4. QFtp qui ne veut pas lire la réponse
    Par uriotcea dans le forum Qt
    Réponses: 6
    Dernier message: 12/06/2008, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo