小编Nik*_*sen的帖子

.NET CORE Razor Pages Ajax 调用 C# 方法

我目前正在制作一个网站来在谷歌地图上显示位置。我从 Airtable.com 数据库中获取了位置地址,那里的一切都运行良好。然而,因为谷歌只允许一定数量的地理编码地址请求,我想将坐标保存在同一个数据库中,所以我只在需要查找新位置(地址)时才使用地理编码 api。我完成了所有设置,但我似乎无法弄清楚如何在剃刀页面中从 js 调用 cs 方法。我过去曾使用过 WebMethod,但显然我不能在这里使用它。

当我尝试使用我在网上找到的示例时,它说我需要 RequestVerificationToken,但这需要来自表单内的调用(我是对的吗?),并且在网站加载时提示我的 ajax 调用还没有任何坐标的数据库中的位置。

这是我第一次使用 Razor Pages,如果我完全误解了什么,请耐心等待。

我想调用的 cs 方法的图片 (Index.cshtml.cs) 我尝试使用 httpPost 标记,但没有任何区别

    [HttpPost] // RequestVerificationToken
    public void OnPostGeoLocation()
    {
        // Just to test that it actually gets called
        Console.WriteLine("OnPostGeoLocation CALLED ####################################");
        Console.WriteLine("OnPostGeoLocation CALLED ####################################");
        Console.WriteLine("OnPostGeoLocation CALLED ####################################");
        Console.WriteLine("OnPostGeoLocation CALLED ####################################");
    }
Run Code Online (Sandbox Code Playgroud)

来自 JavaScript 的 Ajax 调用图片,基本上是在页面加载时调用:AjaxCall

function updateRow(recordID, latLng) {
   console.log("REC_ID: " + recordID);
   console.log("LatLng: " + latLng);
   $.ajax({
       type: "POST",
       url: '/Index?OnPostGeoLocation', 
       contentType: "application/json; charset=utf-8",
       dataType: "json" …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-core razor-pages

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×1

asp.net-core ×1

c# ×1

razor-pages ×1