如何在sitecore中使用jQueryAjax和webmethod
我正在运行Sitecore 6.4,并尝试在Sitecore中使用ajax和webmethod获取一些数据。一切都在子布局中(用户控制) 这是调用webmethod的代码:如何在sitecore中使用jQueryAjax和webmethod,sitecore,sitecore6,Sitecore,Sitecore6,我正在运行Sitecore 6.4,并尝试在Sitecore中使用ajax和webmethod获取一些数据。一切都在子布局中(用户控制) 这是调用webmethod的代码: $("#NextBanner").click(function () { $.ajax({ type: "POST", url: "/GetNext", data: "{}", contentType: "application/json; charse
$("#NextBanner").click(function () {
$.ajax({
type: "POST",
url: "/GetNext",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert('success');
},
error: function (err) {
alert('error');
}
});
这是webmethod,返回一个字符串:
[WebMethod]
public static string GetNext()
{
return "Hello";
}
在一个不使用Sitecore的测试项目中,我使用“Default.aspx/GetNext”作为ajax调用的url,但现在显然这不起作用,因为url,我得到了404NotFound错误
url应该是什么?子布局路径为:/layouts/sublayouts/test.ascx
有没有关于实现这一目标的不同方法的建议
谢谢,
T
更新
谢谢大家的回答
我最终在website/sitecore/shell/webservices下创建了一个web服务,不确定这是否是放置web服务的正确位置,有什么建议吗
谢谢,
T将代码放在网络表单中。不能像调用页面一样调用子布局。在ajax调用中按文件系统路径引用文件,例如/layouts/ajaxProcessor.aspx
您还应该查看以下关于sitecore和ajax的博文:将代码放到Web表单中。不能像调用页面一样调用子布局。在ajax调用中按文件系统路径引用文件,例如/layouts/ajaxProcessor.aspx
您还应该查看以下关于sitecore和ajax的博文:我们通常使用ASP.NET MVC控制器在sitecore项目中提供JSON数据,而不是使用web方法。正确设置后,您可以访问一些Sitecore.Context值(而不是项)和所有Sitecore数据访问API
MVC控制器中的Json()ActionResult选项使发送回序列化数据变得非常简单。我们通常使用ASP.NET MVC控制器来为Sitecore项目中的Json数据提供服务,而不是使用web方法。正确设置后,您可以访问一些Sitecore.Context值(而不是项)和所有Sitecore数据访问API
MVC控制器中的Json()ActionResult选项使发送序列化数据变得非常简单。我在“网站”下创建了一个文件夹,并将我的web服务放在那里。我在“网站”下创建了一个文件夹,并将我的web服务放在那里。很好的链接。值得注意的是,当内容类型设置适当时,WebMethods会自动将数据序列化为JSON,因此从WebMethods返回JSON是一个非常简单的方法。很好的链接。值得注意的是,当内容类型设置适当时,WebMethods会自动将数据序列化为JSON,因此从WebMethods返回JSON是一件很简单的事情。请您详细说明一下您的答案。。谢谢你能再详细说明一下你的答案吗。。谢谢