Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!