jquery - 使用 jquery ajax 调用与 dotnetnuke

标签 jquery ajax dotnetnuke

我只是想做最简单的 ajax 调用,如下所示:

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "module.aspx/testSub",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function() {
        alert("Works!");
    },
    error: function(){
        alert("Error");
    }
});
</script>

这是我的代码隐藏

Public Sub testSub()
    lblTest1.Text = "HelloWorld!!!1!"
End Sub

但它总是返回错误。

最佳答案

有几件事。

首先,它将有助于获取有关错误对象的更多信息。最好的方法是更新您的错误函数以处理 jquery 支持的签名,即 error(jqXHR, textStatus, errorThrown),“errorThrown”将包含更多信息。 ( See this API Doc ) 如果包含它,您的代码可能看起来像这样。

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "module.aspx/testSub",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function() {
        alert("Works!");
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert("Error:" + errorThrown);
    }
});
</script>

现在,除此之外,我相信您的路径存在一些问题。在 DNN 中,您的模块位于/DesktopModules/ModuleName/中。包含您的服务方法的自定义 ASPX 页面就位于其中。 (注意:如果您没有使用自定义 aspx 页面,并且在 ascx 中执行您的方法,您将无法直接调用它们。)

您的网址很可能需要类似于/DesktopModules/MyModule/module.aspx/testusb 或类似的内容。 (另请务必使用正确的属性将该方法标记为 ScriptService。)

关于jquery - 使用 jquery ajax 调用与 dotnetnuke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11316729/

相关文章:

javascript - JQuery点击事件,不工作

jquery - 视差闪烁..位置:fixed is no option

jQuery 修剪和长度

jquery - 在某个元素之前添加元素

iis-7 - 在本地主机上的 dnn 中创建新门户

php - 无法发布和插入到数据库并回显结果 AJAX/PHP/MYSQL

javascript - Ajax 405 (Method Not Allowed) 跨域问题

javascript - 使用 % 进行查询(ajax+javascript+html)

module - DotNetNuke:博客模块的社交链接

html - 如何清理 DotNetNuke 页面以便在移动设备上查看?