我是Umbraco的新手,只是开始弄明白它的来龙去脉。
无论如何,我自己想出了文档类型,宏,模板,xslt文件的工作方式,现在我正在尝试做其他一些事情。即我需要使用AJAX调用加载文档内容。它基本上是一个带有菜单(动态,我想出如何加载)的面板,它根据所选的菜单项(加载菜单的文件)加载内容。我需要弄清楚的是如何使用AJAX调用来获取该内容,因为我不想重新加载页面。
这是使用Umbraco BASE扩展完成的还是我的想法在这里?如果是这样,怎么样?我只是编写一个类,然后在方法中拼接一个HTML字符串吗?
感谢您的帮助
答案 0 :(得分:3)
您可以使用 rest 方法。为此,您必须在config文件夹中编辑 restExtensions.config 。
Ajax Call
$.ajax({
type: 'POST',
url: "/base/AliasName/GetData.aspx",
data: {
},
success:
function (data) {
}
});
<强> restExtensions.config 强>
<ext assembly="/DllName" type="Namespace.ClassName" alias="AliasName">
<permission method="GetData" returnXml="false" allowAll="true" />
</ext>
答案 1 :(得分:2)
是的,这正是Base用于的场景。
您可以在此处找到有关使用基础的文档:
http://our.umbraco.org/wiki/reference/umbraco-base/simple-base-samples
对于通过AJAX消耗base,那么JQuery就是答案。
http://api.jquery.com/jQuery.ajax/
这是一个被黑客攻击的例子(未经过测试的代码):
$(document).ready(function ()
{
$(".buttonListener").click(function ()
{
$.ajax(
{
url: '/Base/TestAlias/Hello.aspx',
success: function (data, textStatus, XMLHttpRequest)
{
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert("Ka pow!");
}
});
return true;
});
答案 2 :(得分:0)
在MVC中使用umbraco进行Ajax调用
$('#TestClick').on('click',function(){
$.ajax({
url: 'umbraco/surface/Home/TestPage',
type: 'POST',
data: { id:10001},
success: function (data) {
alert(data);
},
error: function () {
alert("error");
}
});
})