猿问

数据不是来自 JsonResult Action 到 Javascript 脚本

正如标题所说,我无法在我的 javascript 中获取和使用数据库中的数据。我有一个控制器,其中有我的数据库上下文构造函数和一个 JsonResult 操作,其中信息按原样出现,但是当我尝试在 javascript 中使用数据时,我相信它是空的。这是我的控制器:


namespace ProiectColectiv.Controllers

{

    public class AdminMapController : Controller

    {

        private readonly ProiectColectivContext _context;


        public AdminMapController(ProiectColectivContext context)

        {

            _context = context;

        }


        public ActionResult AdminMap(User user)

        {

            return View("~/Views/Home/AdminMap.cshtml", user);

        }


        public JsonResult GetAllLocation()

        {

            var data = _context.Parkings.ToList();

            return Json(data);

        }

    }

}

这是我的 .cshtml 和 javascript:


@*@model ProiectColectiv.Models.Parking*@

@{

    ViewData["Title"] = "Admin Map";

}

<br/>

<!DOCTYPE html>

<html>

<head>

    <meta name="viewport" content="initial-scale=1.0">

    <meta charset="utf-8">

    <style>

      /* Always set the map height explicitly to define the size of the div

       * element that contains the map. */

        #map {

            height: 800px;

            width: 1200px;

        }


    </style>    

</head>

<body>

<div id="map"></div>

<script>

    var map;

    function initMap() {

        map = new google.maps.Map(document.getElementById('map'), {

            center: { lat: 46.770920, lng: 23.589920},

            zoom: 13

        });


        $.get("@Url.Action("GetAllLocation","AdminMap")", function (data, status) {

            var marker = [];

            var contentString = [];

            var infowindow = [];

            for (var i = 0; i < data.length; i++) {


                marker[i] = new google.maps.Marker({ position: { lat: parseFloat(data[i].Latitudine), lng: parseFloat(data[i].Longitudine) }, map: map });



杨魅力
浏览 92回答 2
2回答

慕容3067478

我认为您需要JsonRequestBehavior.AllowGet在方法中添加作为第二个参数Json()。return&nbsp;Json(data,&nbsp;JsonRequestBehavior.AllowGet)

阿晨1998

解决。问题是return Json(data)返回一个字符串,类似的东西{name: "x"},我试图把它当作data.Name我应该做的data.name,因为它来自 json。
随时随地看视频慕课网APP
我要回答