【问题标题】:AJAX request returning success, however not executedAJAX 请求返回成功,但未执行
【发布时间】:2017-08-17 02:10:33
【问题描述】:

我有一个关于 AJAX 请求的问题,要求在 VB 中从 javascript 函数执行一个简单的消息框函数。该功能不起作用,但是 AJAX 请求返回成功状态。我使用的是 Visual Studio 2015(ASP Web 表单)。

希望这不是重复的,因为我无法在这里找到它。

JAVASCRIPT 部分由“Default.aspx”上的按钮运行:

<script type = "text/javascript">
    function JScallVBmethod() {

    $.ajax({
        type: "POST",
        url: "Default.aspx/Default.aspx.vb/message",

        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function () {
            alert("success");
        },
        failure: function() {
            alert("failure");
        }
    });
}
</script>

要在“Default.aspx.vb”中运行的VB函数

Partial Class _Default
    Inherits Page
    <System.Web.Services.WebMethod()>
    Public Sub message()

        MsgBox("WORKS VB")

    End Sub
End Class

按钮被点击,JS函数运行,不执行VB函数返回成功。如果我直接调用 VB 函数,它可以工作,但是包括页面 PostBack。我可以在任何配置文件的设置中添加一些东西吗?

【问题讨论】:

  • 为什么要尝试在 .NET Web 应用程序中显示消息框?您使用的 URL 看起来也很可疑。
  • 与其编辑问题,不如将其发布为答案,以便其他人知道您是如何解决的。请考虑使用tour 了解该网站的运作方式。

标签: jquery asp.net ajax vb.net


【解决方案1】:

我终于修好了。

我在 VB 模块中缺少 Imports System.Web.Services(相当于 C# 的 using System.Web.Services)。

还有 URL,你是对的。这被定向到 VB 模块中,这是不正确的。现在已更改为 url: "Default.aspx/message"

【讨论】:

    【解决方案2】:

    我更熟悉 MVC.C#,所以我可能不正确。但如果这类似,您的 Web 应用程序不是独立的应用程序,而是在 IIS 中运行,不是吗? IIS 是正在运行的实际应用程序。在这种情况下,您通常无法通过 Windows 窗体或控制台应用程序执行某些操作。这部分是出于安全原因。但也出于实际原因。服务器意味着无需用户交互即可运行,因此 IO 没有任何意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多