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

162
Visualizações
Establecer valor de observable en función asíncrona

Estoy usando DevExtreme y knockout. Quiero obtener JSON-Data de un servidor y guardarlo en un observable.

Enfoque actual:

 var dataArray = ko.observableArray(); var dataId = ko.observable(""); MyApp.overview = function (params) { "use strict"; var viewModel = { [...] } return viewModel; }; function getDataFromJson() { $.ajax({ url: 'http://localhost:56253/test/3?format=json', dataType: 'json', success: function (data) { var entries = $.map(data, function (item) { return new entry(item) }); // first entry is ID for (var i = 1; i < entries.length; i++) { dataArray.push(entries[i]); } } }); } function getIDFromJson() { $.ajax({ url: 'http://localhost:56253/test/3?format=json', dataType: 'json', success: function (data) { dataId(data.ID); } }); } function entry(data) { this.A = data.A, this.B = data.B, this.C = data.C }

Soy nuevo en estos escenarios, así que no estoy seguro si mi enfoque. Para la prueba, estoy llamando a las funciones para obtener los datos JSON manualmente a través de botones, y obtengo los datos necesarios, pero los observables contienen esto:

 function c(){if(0<arguments.length)return c.tb(c[E],arguments[0])&&(c.ga(),c[E]=arguments[0],c.fa()),this;aloc(c);return c[E]}

¿Qué me estoy perdiendo? ¿O es este enfoque una mala práctica en general?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Cómo lo hago es usando el complemento de mapeo Knockout y el comando fromJSON (es posible que deba usar fromJS dependiendo de su formato de datos), esto mapea los datos tal como provienen de la fuente.

 function getDataFromJson() { $.ajax({ url: 'http://localhost:56253/test/3?format=json', dataType: 'json', success: function (data) { ko.mapping.fromJSON(data, {}, self.dataArray); } }); }
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