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

208
Views
Agregue el resultado json a div a través de AJAX (ASP.NET MVC)

Tengo una llamada AJAX que funciona y me devuelve JSON

Aquí está la llamada AJAX

 <script> $('#display').click(function () { var vacancyId = $("#vacancy").val(); var model = { vacancyId: vacancyId }; $.ajax({ url: '@Url.Action("QuestionBlocks", "Questions")', contentType: 'application/json; charset=utf-8', data: JSON.stringify(model), type: 'POST', dataType: 'json', processData: false, success: function (data) { $(".list").append('<div>' + data.Question1 + '</div>'); } }); });

Aquí está el lado del servidor

 [HttpPost] public ActionResult QuestionBlocks(int vacancyId) { var items = db.QuestionBlocks .Where(x => x.Interview.VacancyId == vacancyId) .Select(x => new { ID = x.Block_ID.ToString(), Question1 = x.Question1, Question2 = x.Question2, Question3 = x.Question3, Question4 = x.Question4, Question5 = x.Question5, Question6 = x.Question6, Question7 = x.Question7, Question8 = x.Question8, Question9 = x.Question9, Question10 = x.Question10, }) .ToList(); return Json(items, JsonRequestBehavior.AllowGet); }

Devuelve datos como este

{ID: "1087", Pregunta 1: "Расскажите о себе", Pregunta 2: "Háblame de ti",…}

Mi problema en esto - $(".list").append('<div>' + data.Question1 + '</div>'); funciona bien, pero se muestra undefined

¿Porque?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Parece que necesita analizar datos en JSON. Intenta usarlo así:

 $(".list").append('<div>' + JSON.parse(data).Question1 + '</div>');
over 4 years ago · Santiago Trujillo Report

0

Parece que hay una matriz dentro data , así que intente un código de éxito como este:

 $.ajax({ url: '@Url.Action("QuestionBlocks", "Questions")', contentType: 'application/json; charset=utf-8', data: JSON.stringify(model), type: 'POST', dataType: 'json', processData: false, success: function (data) { var question1 = data[0]; $(".list").append('<div>' + question1.Question1 + '</div>'); } });
over 4 years ago · Santiago Trujillo Report

0

Creo que no devuelve {ID: "1087", Question1: "Расскажите о себе", Question2: "Tell about you",…} . ¿Estás seguro que? los items serán una matriz (ToList()).

 [{ID: "1087", Question1: "Расскажите о себе", Question2: "Tell about you",…}]

Así que ponte primero:

 var question1 = data[0] $(".list").append('<div>' + question1.Question1 + '</div>');
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!