Заполнение массива в Javascript записями из базы данных

Я использую ASP.NET MVC. Идея состоит в том, чтобы заполнить этот массив записями из базы данных.

    var locations = [];

У меня есть следующая модель:

public partial class threat
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int threat_id { get; set; }
    public int category_id { get; set; }
    public double lat { get; set; }
    public double lng { get; set; }
}

1 ответ

  1. Контроллер:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        public JsonResult GetJsonData()
        {
            var data = new List<threat>();
            data.Add(new threat { category_id = 0, threat_id = 0, lat = 12, lng = 12 });
            data.Add(new threat { category_id = 0, threat_id = 0, lat = 13, lng = 13 });
            data.Add(new threat { category_id = 0, threat_id = 0, lat = 14, lng = 14 });
            data.Add(new threat { category_id = 0, threat_id = 0, lat = 15, lng = 15 });
    
            return Json(data, JsonRequestBehavior.AllowGet);
        }
    }
    

    Вид:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
    
            var locations = [];
    
            $.getJSON("/Home/GetJsonData", null, function (data) {
                locations = data;
            });
    
            $("#btnShowData").click(function () {
    
                for(var i =0;i < locations.length;i++){
                    var location = locations[i];
                    var message = "Location Lat - " + location.lat + ".Location Lon - " + location.lng;
                    alert(message);
                }
            });
        });
    </script>
    <div>
        <input type="button" id="btnShowData" value="Show Data" />
    </div>
    

    Я использую статику List<T>в примере выше, поэтому просто замените эту логику, чтобы вернуть данные из вашей базы данных, а остальное будет работать как есть.Не уверен, какой ORM вы используете, но вот простой пример базы данных Entity Framework