如何在 Javascript/Ajax 中调用存储过程?

Posted

技术标签:

【中文标题】如何在 Javascript/Ajax 中调用存储过程?【英文标题】:How can I call a Stored Procedure in Javascript/Ajax? 【发布时间】:2014-02-05 20:15:35 【问题描述】:

我在一个较大的 javascript 文件中有以下代码块。它使用 API 来获取 strCategoryID 值并返回包含三个文档名称的列表以及相应的链接。工作正常,除了我需要按输入日期对文档进行排序。我在 SQL 数据库中有一个存储过程,它给了我我需要的东西,但我不确定如何进行调用并用排序的文档填充循环。我正在修改别人的代码,对 ajax 还是很陌生。

    var list = "<ul style=\"list-style: none; text-indent: -1.2em;\" class=\"news-list\" id=\"news-" + strCategoryID + "\">";
    $.ajax(
    type: "POST",
    async: false,
    data: strParams,
    url: "/Utilities/AJAXUtilities.aspx",      
    success: function(msg)
    msg = $.createXMLDocument(msg);      
    var li_count = 0;

    $(msg).find('CONTENT_SEARCH').each(function()

        if ($(this).find("CNT_AVAILABLE").text() == "T") 
        var title = $(this).find("CNT_TITLE").text();
        var trimtitle = title.substring(0,39);
        list = list.concat("<li><a href=\"/Content/MyOptions.aspx?id=" + $(this).find("CNT_CONTENT_ID").text() + "\">" + trimtitle + "...</a></li><hr>");   
            li_count = li_count+1;
            if (li_count == 3) 
            return false;
            
        
    ); 

    
    );

    list = list.concat("</ul>");
    list = list.concat("<br /><a href=\"\">View previous news releases>></a>");     
    $("#newscatlist").append(list);
    return list;

【问题讨论】:

存储过程是什么样的? 【参考方案1】:

我认为,如果您对 AJAX 不是很熟悉,那么最简单的解决方案是修改 AJAXUtilities.aspx 以根据您的需要返回记录顺序,这样您就不必处理 AJAX 和/或 Javascript .

【讨论】:

那是个兔子洞。 AJAXUtilities.aspx 是一个自定义代码隐藏文件,它继承了许多其他地方的功能。 好的,创建另一个 ASPx 页面,在该页面内您必须调用存储过程,在 ASPx 内您需要将该存储过程的结果转换为 XML 结果并将其作为新值返回.请记住,您应该查看当前返回的 XML 的格式并模仿相同的格式(顺序无关紧要)。如果您需要更多帮助,尽管问。 可以这样嵌套ajax调用吗?我可以获取文档 ID,然后在循环的每个阶段使用它来获取其他内容吗?存储过程的原因是 API 中不存在直接获取我需要的内容的调用。我包含的代码获取特定类别的文档。我需要的是从该类别输入的最后三个文件。输入日期存在于一个单独的表中,该表在文档 ID 上建立索引,直到我从类别中获取列表后才能获取。 绝对不是最优的,但在你的情况下是可以理解的。绝对可行:

以上是关于如何在 Javascript/Ajax 中调用存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

如何在前端的 Javascript Ajax API 调用中隐藏我的 JWT 令牌?

ASP.NET / JavaScript - Ajax 调用,如何?

当用户到达页面末尾以加载新内容时,如何调用 JavaScript (AJAX) 函数?

从 javascript/AJAX 调用 MySQL 查询

触发单向 ajax 调用

使用 javascript (AJAX) 的双工 WCF 服务调用