簡體   English   中英

我根本需要getJson嗎?

[英]do I need getJson at all?

   $(document).ready(function ()
    {
        $(".viewmap").click(function ()
        {
            var id = $(this).attr("id");
            var responseURL = "~/changemap?id=" + id;
            //alert(responseURL);
            $.ajax(
            {
                url: responseURL,
                dataType: "json",
                type:"GET",
                success: function (dt)
                {
                    initialize(dt.Latt, dt.Longt); 
                }
            }
            );
        }
        );
    });

我使用該腳本對頁面changemap.cshtml進行ajax調用,該調用執行以下操作

@{

    if(!IsPost)
    {
        if(!Request.QueryString["id"].IsEmpty()&&Request.QueryString["id"].IsInt())
        {
            var countryId=Request.QueryString["id"];
            var db=Database.Open("GoogleMapView");
            var dbCmd="SELECT * FROM places WHERE id=@0";
            var row=db.QuerySingle(dbCmd,countryId);
            if(null!=row)
            {
               Json.Write(row,Response.Output);
            }
        }
    }
}

那就是將查詢到的數據以json格式從數據庫返回給客戶端。 初始化函數定義為

function initialize(lat,lng)
            {
                var mapOptions = {
                    center: new google.maps.LatLng(lat,lng),zoom: 8,mapTypeId: google.maps.MapTypeId.ROADMAP 
                };
                var map = new google.maps.Map(document.getElementById("gmap"),mapOptions);
            }

但是,當我單擊類viewmap的div標簽時,什么也沒有發生。 我想我想念更多的腳本來使我的應用程序正常工作。

我只嘗試實現一個簡單的google map視圖,在該視圖中,一旦用戶單擊一個地名作為超鏈接,就會重新加載與其匹配的地圖。

我認為

var responseURL = "~/changemap?id=" + id;

應該

var responseURL = '@(Url.Content("~/changemap")+"?id=")' + id;

嘗試以下

            success(data){

                   initialize(data.d.Latt, data.d.Longt); 



              }

有關為什么使用d的更多參考,請檢查以下鏈接

      http://encosia.com/never-worry-about-asp-net-ajaxs-d-again/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM