Le retour de la Chaîne de résultats de l'Ajax Méthode
J'ai un DoughnutChart graphique et je voudrais changer la couleur de ses parties concernant la couleur hexa-codes enregistrés dans la base de données j'ai utilisé cette méthode Ajax pour obtenir la couleur de la chaîne par l'invocation d'une méthode d'action qui renvoie Résultat JSON ,
getcolors: function getcolors(name) {
return $.ajax({
url: "/api/ideas/getcolors",
data: { name: name },
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data, textStatus, jqXHR) {
//return data;
},
error: function (data) {
//return "Failed";
},
async: true
});
mais au lieu de recevoir la chaîne, j'ai reçu l'Objet {readyState: 1} dans la fenêtre de la console
Cependant, je peux trouver la valeur de la couleur stockées dans ResponseText élément.J'ai besoin de votre aide comment puis-je obtenir la valeur de la couleur en tant que chaîne de caractères.
EDIT :
Pour rendre les choses plus claires, c'est là que je voudrais appeler la méthode ajax pour recevoir la chaîne de couleur alors je vais être en mesure de pousser dans le graphique gamme de couleurs .
getColorArray: function getColorArray(categories) {
var colors = [];
for (var i = 0; i < categories.length; i++) {
console.log(this.getcolors("Risk"));
//colors.push(this.getcolors(categories[i]));
}
return colors;
}
- Il est difficile de savoir ce que vous montrez dans la console, est-ce "données" ou "jqXHR'. Je soupçonne que c'est le dernier. Vous souhaitez utiliser le paramètre de données à votre succès fonction.
- la réussite et de la fonction d'erreur cant retourne rien, parce que vous le retour de la fonction ajax 😉 le modifier par la suppression de retour avant $.ajax et essayez à nouveau. et normalement dans la réussite de données de la fonction doit contenir jqXHR.responseText
- J'ai essayé de supprimer le retour de la fonction ajax mais j'ai encore besoin de retourner la couleur hexa chaîne à partir de cette méthode, de toute façon 🙂 .. puis-je vous demander si vous pouvez écrire un exemple simple pour qui ?
- En fait, je n'ai rien écrit dans la réussite ou de la fonction d'erreur .. j'ai besoin de recevoir de la couleur hexa chaîne à partir de la méthode.
Vous devez vous connecter pour publier un commentaire.
Pourquoi votre code, c'est comme cela?
Avez-vous l'utiliser?
Ok, je l'ai eu. Lorsque vous utilisez une requête ajax votre volonté de travailler avec des données asynchrones, pour ce faire, vous devez retourner une promesse dans votre méthode. S'il vous plaît, essayez d'utiliser le code ci-dessous.
Et pour l'utilisation de votre fonction, utilisez ce code:
Ou vous pouvez utiliser un callback
... Et pour une utilisation avec les rappels:
Essayez l'une de ces options et de dire le résultat.
La Solution
Tout d'abord, je tiens à remercier Mateus Koppe pour ses efforts, par le biais de sa solution, j'ai eu le moyen de résoudre mon problème ..
Ce que j'ai fait est tout simplement juste, j'ai reçu le ResponseText de la future réussite dans mon Ajax méthode, puis je suis passé à une fonction de rappel qui gère le résultat comme suit :
ensuite, j'ai travaillé avec getColorArrayModified pour faire une boucle dans ma liste de catégories et de remplir sa propre couleur.
Merci pour tout :).