如何在 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 调用,如何?