AJAX请求返回成功,但未执行

时间:2017-03-24 08:09:29

标签: jquery asp.net ajax vb.net

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

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

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

@echo off

set "source=C:\Users\my name\some long path with spaces"
set "target=C:\Users\my name\a different long path with spaces"

for %%F in ("%source%\*.") do if not exist "%target%\%%~nF.jpg" copy "%%~F" "%target%\%%~nF.jpg"

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

<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>

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我终于修好了。

我错过了VB模块中的Imports System.Web.Services(相当于C#的using System.Web.Services)。

也是网址,你是对的。这是针对VB模块的,这是不正确的。现在已更改为url: "Default.aspx/message"