我有一个关于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。在任何配置文件的设置中可以给我一些东西吗?
答案 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"
。