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

68
Visualizações
POST Matriz Javascript al controlador MVC .NET 5.0

Estoy tratando de enviar algunos datos de mi matriz de javascript a mi controlador mvc. Cuando realizo la depuración, termino en mi método public void GetJSArray(List<SelectorModel> selectorModels)

pero selectorModels es null .

Aquí está mi modelo.

 public class SelectorModel { public int ID { get; set; } public string Cords { get; set; } public string Name { get; set; } }

aquí está mi código C# en el controlador.

 [HttpPost] public void GetJSArray(List<SelectorModel> selectorModels) { //Code here }

y aquí está mi JavaScript/Ajax

 function SaveInfoSpots() { var savedeSpots = JSON.stringify({ selectorModels: infospots }); $.ajax({ type: "POST", url: '/Home/GetJSArray', contentType: "application/json; charset=utf-8", dataType: 'JSON',//json data: savedeSpots, traditional: true }); }

Si hago un console.log(savedeSpots) obtengo esto. {"selectorModels":[{"ID":1,"Name":"Infospot1","Cords":"5000.00, 2293.85, 2278.05"},{"ID":1,"Name":"Infospot2","Cords":"1.94, 584.50, 5000.00"},{"ID":1,"Name":"Infospot3","Cords":"5000.00, -2705.97, -277.02"},{"ID":1,"Name":"Infospot4","Cords":"5000.00, 504.93, -2845.93"}]}

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

0

Dos lugares necesitan modificarse en su código:

Primero, sobre el enlace del modelo , agregue el atributo [FromBody] en el parámetro de acción:

 [HttpPost] public void GetJSArray([FromBody]List<SelectorModel> selectorModels) { //Code here }

En segundo lugar, su API necesita una matriz, no un objeto, por lo que cuando llama a la API, debe publicar el parámetro de esta manera:

 [ { "ID": 1, "Name": "Infospot1", "Cords": "5000.00, 2293.85, 2278.05" }, { "ID": 1, "Name": "Infospot2", "Cords": "1.94, 584.50, 5000.00" }, { "ID": 1, "Name": "Infospot3", "Cords": "5000.00, -2705.97, -277.02" }, { "ID": 1, "Name": "Infospot4", "Cords": "5000.00, 504.93, -2845.93" } ]

no el formato {"selectorModels":...} .

Si solo necesita API, crear un proyecto webapi es mejor que un proyecto mvc.

about 4 years ago · Juan Pablo Isaza Relatório

0

Agregue [FromBody] a su parámetro de lista de controladores, como

 public void GetJSArray([FromBody] List<SelectorModel> selectorModels)

Intenta eliminar

 traditional: true

y

 charset=utf-8

de la llamada ajax también. Debería ver la lista poblada luego en el controlador.

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