2010-06-23 2 views
4
$(document).ready(function() { 
     $.ajax({ type: "POST", 
         url: "/getprojects.ashx", 
         data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>", 
         dataType: "text/xml", 
         cache: false, 
         error: function() { alert("No data found."); }, 
         success: function(xml) { 
          alert("it works"); 
          alert($(xml).find("project")[0].attr("id")); 
         } 
     }); 
    }); 

Mon problème est que je récupère des données, mais je n'arrive pas à les afficher.jQuery ajax poste au service Web

+0

Comment ces données ne ressemblent-elles? Quelle partie voulez-vous extraire? Comment et où voulez-vous le formater et l'afficher? –

+0

Les données je reçois ressemble à ceci: I certains des attributs de tous les projets, affichés en html. –

+0

Si vous avez utilisé alternance guillemets simples/guillemets vous n'auriez pas besoin de tous les échapper :( – Andrew

Répondre

10

dataType devrait être le type de ce que vous recevez, mais contentType doit être le type MIME de ce que vous envoyez, ce qui suit devrait être ok:

$(document).ready(function() { 
     $.ajax({ type: "POST", 
         url: "/getprojects.ashx", 
         data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>", 
         contentType: "text/xml", 
         dataType: "xml", 
         cache: false, 
         error: function() { alert("No data found."); }, 
         success: function(xml) { 
          alert("it works"); 
          alert($(xml).find("project")[0].attr("id")); 
         } 
     }); 
    }); 
+0

Merci, mais pour une raison quelconque, il frappe le gestionnaire d'erreur –

+0

la signature de rappel d'erreur est erreur (XMLHttpRequest, textStatus, errorThrown) quelles sont les valeurs des paramètres? –

+0

[objet XMLHttpRequest parsererror TypeError: a est null] mais ive un peu abandonné et passer mais une réponse sur ho w pour le faire fonctionner serait toujours apprécié. –

2

Votre dataType semble avoir tort. Il devrait ressembler à

dataType: "xml" 

votre structure data est également assez bizarre. Jetez un oeil à .serializeArray(). Il doit être une chaîne de requête standard foo = bar & test = etc. bla

Si le success handler est exécuté, essayez de rechercher votre simple variable de xml, sans fonctionnant sur avec .find() ou autre. Toujours vide?

+0

En changeant à dataType: "xml" il frappe le gestionnaire d'erreur –

+0

@Buckley: voir à nouveau mon message, votre 'data' est également Si elle exécute toujours le gestionnaire d'erreur, recherchez le code d'erreur/chaîne en passant 'function (xhr, textStatus, error)' – jAndy

+0

Merci jAndy, je vais avoir un peu de problème avec le .serializeArray() –

Questions connexes