Utilisation de jQuery pour envoyer des données Excel à l'aide d'AJAX

J'ai la fonction suivante qui est de l'extraction de données à partir d'une base de données. L'appel ajax fonctionne correctement. Comment puis-je envoyer de l'onglet données délimitées dans mes succès de la fonction de l'utilisateur? Réglage de la contect type "application/vnd.ms-excel" n'a pas fonctionné. L'alerte sur le succès montre l'correctement formatée de données.

     function SendToExcel() {
       $.ajax({
           type: "GET",
           url: "/Search.aspx",
           contentType: "application/vnd.ms-excel",
           dataType: "text",
           data: "{id: '" + "asdf" + "'}",
           success: function(data) {
              alert(data);
           },
           error: function (jqXHR, textStatus, errorThrown) {
              alert(jqXHR.responseText);
       }});
     }

Je ne veux pas afficher les données dans le navigateur--je veux l'envoyer à Excel.

EDIT: j'ai trouvé un moyen de faire ce que je voulais. Au lieu de rediriger les utilisateurs vers une nouvelle page qui pourrait l'inviter à enregistrer/ouvrir un fichier Excel, j'ai ouvert la page dans un iframe masqué. De cette façon, l'utilisateur clique sur un bouton, et ils sont invités à enregistrer/ouvrir un fichier Excel. Pas de redirection de page. Est-il de l'Ajax? Non, mais il résout le problème réel que j'ai eu.

Voici la fonction que je vais appeler sur le bouton cliquez sur:

     function SendToExcel() {
        var dataString = 'type=excel' +
            '&Number=' + $('#txtNumber').val() + 
            '&Reference=' + $('#txtReference').val()

        $("#sltCTPick option").each(function (i) {
             dataString = dataString + '&Columns=' + this.value;
        });

        top.iExcelHelper.location.href = "/Reports/JobSearchResults.aspx?" + dataString;;
     }
  • Aucune raison pourquoi c'est une mauvaise question? Pourquoi était-ce vers le bas voté?
  • il descendit de-voté parce que probablement tout le monde crois que la demande de l'AJAX est une mauvaise approche, mais avec un iframe caché son possible pour obtenir la boîte de dialogue téléchargement de venir. Si vous obtenez des résultats différents avec chaque navigateur. Je me souviens IE cours de l'une de ces questions. mais l'iframe masqué approche fonctionne - je peux le confirmer.