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

235
Visualizações
Cómo llamar a la API de Json desde C# usando Javascript

Hice esta aplicación de API web usando ASP.NET y C#

y la respuesta de salida de esta API es un objeto Json Para poder en una aplicación de script java Llame a esta API con Ajax

este es el código C#:

 public string Get() { string Sql3 = "(SELECT top 10 Raspberry_ID, Raspberry_name, Speaker_Name, currently_playing_song,Speaker_Volume,Speaker_Availability, Speaker_Mute,Date_Time,Speaker_Status, Row_Number() over (order by Date_Time desc) as RowNumber FROM Raspi_speaker)T"; string Sql2 = "Speaker_Volume, Speaker_Status, Speaker_Availability, Speaker_Mute, Date_Time, RowNumber FROM"; string Sql = "SELECT top 10 Raspberry_ID, Raspberry_name, Speaker_Name, currently_playing_song," + Sql2 + Sql3; SqlDataAdapter adap = new SqlDataAdapter(Sql, conn); string[] Result = new string[10]; DataTable dataTable = new DataTable(); adap.Fill(dataTable); int i = 0; foreach (DataRow dataR in dataTable.Rows) { string Val; Val = Convert.ToString(dataR["Raspberry_name"]); Result[i] = Val; i++; } Object[] obj = { new { RasspiName = Result} }; if (dataTable.Rows.Count > 0) { return JsonConvert.SerializeObject(obj); } return "No Data Found"; } }

y la salida es este objeto Json:

 [{"RasspiName":["Crea_RASPI SONOS","Crea_RASPI SONOS","Crea_RASPI SONOS","Crea_RASPI SONOS","Trais-Sonos-Pi","Trais-Sonos-Pi","Crea_RASPI SONOS","Crea_RASPI SONOS","Crea_RASPI SONOS","Crea_RASPI SONOS"]}]

El código JavaScript es:

 function Ajax(){ var request = new XMLHttpRequest(); request.onreadystatechange = function(){ if(request.readyState == 4 && (request.status == 200)) { var DataR = []; DataR =JSON.parse(request.responseText) console.log(DataR) } } var url = 'http://localhost:41839/api/Musik'; request.open('GET',url ,true); request.send() }

Mi problema es que trata el objeto Json como texto Aunque utilicé ((JSON.parse)) Método en Java Script... Por ejemplo, cuando escribo ((console.log(DataR[ 0 ])) obtengo solo una letra por ejemplo [ En lugar de Valor cuando escribo ((console.log(DataR[ 0 ].RasspiName)) obtengo Indefinido

No sé si proplem de código C# o de Java Script

espero su ayuda muchas gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No entiendo cómo definiste el método API Get en el ejemplo del código de back-end, pero creo que deberías configurar algo como esto:

 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] public string GetDashboardInfo() { //your code here }

Puede usar Ajax para realizar la solicitud GET:

 function GetData() { try { $.ajax({ type: "GET", contentType: "application/json; charset=utf-8", url: "http://localhost:41839/api/Musik", data: '', dataType: "json", success: OnSuccessGetData, error: OnErrorGetData }); } catch (ex) { console.log("GetData(): " + ex.toString()); } } function OnSuccessGetData(result) { try { if (result.d !== "" && result.d !== null) { var dataSourceJson = JSON.parse(result.d); } else { console.log("OnSuccessGetData: result is null!"); } } catch (ex) { console.log("OnSuccessGetData(): " + ex.toString()); } } function OnErrorGetData(httpRequest, textStatus, errorThrown) { try { console.log("OnErrorGetDashboardData: " + textStatus + " " + errorThrown + " " + httpRequest); } catch (ex) { console.log("OnErrorGetDashboardData(): " + ex.toString()); } }

Más sobre JavaScript Obtener solicitud aquí .

about 4 years ago · Juan Pablo Isaza 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