Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
Devolver resultado de cadena del método Ajax

Tengo un gráfico de DoughnutChart y me gustaría cambiar el color de sus partes con respecto a los códigos hexadecimales de color guardados en la base de datos. Utilicé este método Ajax para obtener la cadena de color invocando un método de acción que devuelve JSON Result,

 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 });

pero en lugar de recibir la cadena, recibí el Objeto {readyState: 1} en la ventana de la consola ingrese la descripción de la imagen aquí

Sin embargo, puedo encontrar el valor del color almacenado en el elemento ResponseText. Necesito su ayuda sobre cómo puedo obtener el valor del color como cadena.

EDITAR :

Para dejar las cosas más claras, ahí es donde me gustaría invocar el método ajax para recibir la cadena de colores y luego podré insertar la matriz de colores del gráfico.

 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; }
about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

¿Por qué tu código es así?

 success: function (data, textStatus, jqXHR) { // return data; },

¿Lo usaste?

 success: function (data, textStatus, jqXHR) { console.log(data); }

Bien, lo tengo. Cuando usa una solicitud ajax, trabajará con datos asincrónicos, para hacer esto necesita devolver una promesa en su método. Por favor, intenta usar el código de abajo.

 getcolors: function getcolors(name) { return $.ajax({ url: "/api/ideas/getcolors", data: { name: name }, type: "GET", contentType: "application/json; charset=utf-8", dataType: "json", }); }

Y para usar su función use este código:

 getcolors("name").done(function(result){ console.log(result); });

O puede usar una devolución de llamada

 getcolors: function getcolors(name, success, error) { return $.ajax({ url: "/api/ideas/getcolors", data: { name: name }, type: "GET", contentType: "application/json; charset=utf-8", dataType: "json", success: function(data){ success(data); }, error: function(data){ error(data); } }); }

... Y para usar con devoluciones de llamada:

 getcolors("name", function(data){ //success function console.log(data); }, function(){ //Error function console.log(data); })

Pruebe una de estas opciones y diga el resultado.

about 4 years ago · Santiago Trujillo Relatório

0

La solución

En primer lugar, me gustaría agradecer a Mateus Koppe por sus esfuerzos, a través de su solución obtuve la forma de resolver mi problema. a una función de devolución de llamada que maneja el resultado de la siguiente manera:

 getcolors: function getcolors(name, handleData) { $.ajax({ url: "/api/ideas/getcolors", data: { name: name }, type: "GET", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { handleData(data.responseText); //return data.responseText; }, error: function (data) { handleData(data.responseText); //return data.responseText; }, async: false });

luego trabajé con getColorArrayModified para recorrer mi lista de categorías y completar su propio color.

 getColorArrayModified: function getColorArrayModified(categories) { var colors = []; for (var i = 0; i < categories.length; i++) { this.getcolors(categories[i], function (output) { colors.push(output); }); } return colors; }

Gracias por todo :).

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda