Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda