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

110
Views
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"}]}

over 4 years ago · Santiago Trujillo
2 answers
Answer question

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.

over 4 years ago · Santiago Trujillo Report

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.

over 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!