Dotnetnuke 从模块调用 ajax

2023-12-10

我现在正在尝试使用 ajax 调用构建 dnn 模块。但有一个 jquery 错误指出

语法错误:意外的标记

我尝试使用 ajax“url:” 并尝试在根文件夹中创建一个新的 ascx,但仍然显示错误 404。

我的ajax调用如下

$.ajax({
       url: "NewsManagement.ascx/Add",
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       method: "POST",
       beforeSend: function () {
       },
       cache: false,
       data: {
            title : $('#txt_Title').val(),
            news_content : $('#txt_Content').val(),
            image : $('#file_Image').val(),
            chapter_id : $('#sel_Chapter').val(),
            is_draft : $('#chk_Draft').val(),
            posted_date : $('#dp_PostDate').val(),
            created_by : "",
            lastupdate_by : ""
       },
       success: function (data) {
            console.log(data);
            if (data == "success") {
                console.log(data);
            }
            else {
                initMdlError("SERVER : " + data);
            }
        },
        error: function (data, textStatus, error) {
           // ERROR IS BEING CALLED FROM HERE
             console.log("JQUERY JAVASCRIPT : " + error);
             initMdlError(error);
        },
        complete: function () {
             console.log('complete');
        }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

有什么办法可以解决问题吗?


您遇到的问题是 DNN 没有正确处理您正在调用的请求的 URL。如果您想调用 DNN 中的服务 URL,您将需要设置路由来处理调用。

namespace Christoc.Com.Modules.SlidePresentation.services
{
    public class SlidePresentationRouteMapper : IServiceRouteMapper
    {
        public void RegisterRoutes(IMapRoute mapRouteManager)
        {
            mapRouteManager.MapRoute("SlidePresentation", "{controller}.ashx/{action}",
               new[] {"Christoc.Com.Modules.SlidePresentation.services"});
        }
    }
}

在控制器中您可以定义可用的方法

[DnnAuthorize(AllowAnonymous = true)]
public ActionResult ListOfSlides()
{
    try
    {   
        var slides = Slide.GetSlides(ActiveModule.TabID, ActiveModule.ModuleID);
        return Json(slides, JsonRequestBehavior.AllowGet);
     }
     catch (Exception exc)
     {
         DnnLog.Error(exc);
         return Json(null, JsonRequestBehavior.AllowGet);
     }
}

https://slidepresentation.codeplex.com/SourceControl/latest#DesktopModules/SlidePresentation/services/SlidePresentationController.cs

示例 JavaScript

 //get slides on initialization
    this.init = function(element) {
        //var data = {}; //removed because we don't need this
        //data.moduleId = moduleId; //removed because we don't need this when calling setModuleHeaders
        //data.tabId = tabId; //removed because we don't need this
        //serviceFramework.getAntiForgeryProperty(); //removed because we don't need this
        $.ajax({
            type: "POST",
            cache: false,
            url: baseServicePath + 'ListOfSlides',
            //data: data,
            //dataType:"json",
            beforeSend: serviceFramework.setModuleHeaders
        }).done(function(data) {
            viewModel.slides = ko.utils.arrayMap(data, function(s) {
                return new slide(s);
            });
            ko.applyBindings(viewModel);
            $(element).jmpress();
        }).fail(function () {
            Console.Log('Sorry failed to load Slides');
        });
    };

这是执行此操作的示例模块

https://slidepresentation.codeplex.com/

还有我几年前在这个模块上制作的用户组视频。https://www.youtube.com/watch?v=hBqn5TsLUxA

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dotnetnuke 从模块调用 ajax 的相关文章

随机推荐

  • 使用 MySQL 数据读取器

    我不熟悉使用数据读取器 我需要以下代码的帮助 我想从数据库中检索单个数据 MySqlDataAdapter data new MySqlDataAdapter cmd conn Open DataTable dt new DataTable
  • 从 XAML 调用位于类中的事件或方法

    您好 我正在尝试是否可以将像 TextChanged 文本框的 这样的事件放置在独立于窗口代码隐藏 如类 的另一个位置 我想做的是在 ResourceDictionary 中引用 TextBox 的事件 因为 ResourcesDictio
  • `nls` 无法估计我的模型的参数

    我正在尝试估计堆定律的常数 我有以下数据集novels colection Number of novels DistinctWords WordOccurrences 1 1 13575 117795 2 1 34224 947652 3
  • 会话之间的WCF数据持久化

    我们正在开发一个基于WCF 的系统 在此过程中 我们试图锁定某些数据 以免被多个用户修改 因此 我们决定建立一个数据结构 其中包含执行锁定逻辑所需的信息 例如存储锁定对象的 ID 我们遇到的问题是在会话之间保留该数据 我们是否可以避免执行昂
  • python“bigfloat”包安装问题

    我试图在我的 Mac OS X 10 8 4 上安装 bigfloat 包 但遇到了一些问题 包 bigfloat 需要另外两个依赖项 1 mpfr 和 2 gmp 我在这里安装了gmp http gmplib org 但安装 mpfr 并
  • 使用VBA将多个公式放入一个单元格中

    我正在开发一个宏 将多个公式放入一个单元格中 在本例中 它的 3 个 Bloomberg 公式被合并到一个单元格中 该公式在 Excel 中手动复制或键入时有效 但在 VBA 模块中键入时无效 它会产生错误 编译错误 预期 语句结束 并突出
  • 如何解决“接收失败:连接被对等方重置”错误

    我想 git pull or git fetch命令开启myRepo给我错误但是myTestRepo工作正常 命令给了我这个错误 Fetching origin fatal unable to access http mysite myPa
  • Mysql插入2个表

    我想插入两个表 visits visit id int card id int 登记 registration id int type enum in out timestamp int visit id int 我想要类似的东西 INSE
  • 为什么在 foreach 中对 Linq 分组选择所做的更改会被忽略,除非我添加 ToList()?

    我有以下方法 public IEnumerable
  • 获取具有最高值且有联系的顶行

    我在 PostgreSQL 中有一个名为product其中包含2个字段 id and quantity 我想找到id最高的产品quantity 据我所知 有两种方法 SELECT id FROM product WHERE quantity
  • Eclipse 没有显示已弃用警告?

    根据 Javadocs public Date int year int month int day This constructor was deprecated in API level 1 Date date new Date yea
  • 标记大小/alpha 缩放与窗口大小/缩放绘图/散点

    当探索 xy 图表上具有许多点的数据集时 我可以调整 Alpha 和 或标记大小 以快速直观地了解点最密集的聚集位置 然而 当我放大或放大窗口时 需要不同的 Alpha 和 或标记大小才能给出相同的视觉印象 当我增大窗口或放大数据时 如何增
  • 将商店经理用户名添加到 Woocommerce 管理订单备注

    我现在有一个问题 我有一个插件 可以让我快速更改管理订单列表中的订单状态 不幸的是 商店经理的名字没有被传送 我想我已经找到了正确的代码 但我不知道具体该怎么做 将不胜感激任何帮助 public function save comment
  • 使用 GPUImage 对视频进行色度过滤?

    我正在尝试使用透明键在我的应用程序中显示具有透明度的视频文件 RGB 0x00FF00 或全绿色 使用 BradLarson 的很棒GPUImage工具包 然而 我在使用过程中遇到了一些困难GPUImageChromaKeyFilter过滤
  • 如何在 Windows 7 64 位上使用 theano 设置 cuDnn

    我已经安装了Theano框架并在我的机器上启用了 CUDA 但是当我在 python 控制台中 导入 theano 时 我收到以下消息 gt gt gt import theano Using gpu device 0 GeForce GT
  • 通过日历提供程序添加的事件未显示在 Android 日历应用程序上

    我正在尝试将事件添加到默认的 Android 日历 而不要求用户确认保存事件 所以不是故意的 以下代码没有编译错误或运行时错误 单击该按钮后 不会显示任何错误 也不会向 Android 日历应用程序添加任何事件 我已经在清单中检查了日历授权
  • GAE python 中的 YAML 文件 url 和脚本

    我在 Google App Engine 中使用 Python 2 7 但似乎无法正确设置我的 app yaml 文件 我的目标是如果我去http localhost carlos 我得到了一个被执行的 Carlos py 这是我的目录结构
  • ASP.NET INamingContainer - 可选前缀

    ASP NET 是否始终应用 100元 元素 ID 的前缀 或者在某些情况下 如果保证元素是唯一的 它是否会优化此前缀 最近 我发现所应用的 ID 前缀有所不同 一种具有前缀 另一种则没有 但两者都源自同一源 谁能提供更多有关 INamin
  • C++ 中的免费分析? [复制]

    这个问题在这里已经有答案了 可能的重复 您最喜欢的分析工具是什么 针对 C 在 Java 中 他们有一个很好的免费分析器 它与 sdk 一起提供 称为 jvisualvm C 有类似的东西吗 我使用的是 Windows 并且有 Visual
  • Dotnetnuke 从模块调用 ajax

    我现在正在尝试使用 ajax 调用构建 dnn 模块 但有一个 jquery 错误指出 语法错误 意外的标记 我尝试使用 ajax url 并尝试在根文件夹中创建一个新的 ascx 但仍然显示错误 404 我的ajax调用如下 ajax u