从 .net MVC 中的 javascript 访问 C# Web 程序集

问题描述 投票:0回答:1

我需要从 MVC、NET(不是 blazor)中的 javascript 访问一些 C# 代码。 我有以下内容。这是针对 .NET 和 MVC 堆栈的特定问题,而不是像堆栈溢出中的另一个问题那样的通用 ajax 问题。我没有收到任何错误消息,它只是在 ajax 调用后继续执行下一条语句。我认为可能有两个可能的问题。我的网址:“/Home/CreatePostcodeFromCooperatives”是错误的。 或者我的 C# 程序集不是程序集的一部分?或类似的东西。我对网络技术没有那么丰富的经验,我来自数据库背景,但是让这个链接正常工作不是那么困难吗?看不出还有什么不对的地方。另外,C# 的返回值是否需要某种特殊格式或字符串(按照现在的情况)就可以? 这可能是另一个原因? 谢谢!

console.log("just before /Home/CreatePostcodeFromCoordinates");

$.ajax({
    type: "POST",
    url: '/Home/CreatePostcodeFromCoordinates',
    data: { param1: longitude, param2: latitude },
    success: function (response) {
        console.log('success');
        console.log(response);
    },
    error: function (error) { 
        console.error(error);
    }
});
javascript c# ajax asp.net-mvc
1个回答
0
投票

最后,这就是我设法解决它的方法: 我正在 MVC 中调用 C# 方法。确保您的 C# 方法未声明为静态。就像这样。另外,我每天大约花了 8 个小时试图理解为什么我无法得到任何结果。您需要 async = false 选项。否则你会花费相似的时间,甚至更多!

C# 公共字符串CreateCoordinatesFromPostcode(字符串邮政编码) { // 逻辑 string result = "XXXXXX" // 你的逻辑 返回结果; }

JavaScript
 let result = '';
 $.ajax({
     type: "POST",
     url: '/clib/CreateCoordinatesFromPostcode',
     async: false,
     data: { postcode: postcode },
     success: function (response) {
         result = response;
     },
     error: function (error) {
         console.error(error);
     }
 });

 console.log("just after  /clib/createCoordinatesFromPostcode");

 return result;
© www.soinside.com 2019 - 2024. All rights reserved.