【发布时间】:2012-07-02 16:46:34
【问题描述】:
我正在尝试使用 jQuery ajax 在我的应用程序中的 aspx 页面上调用 WebMethod。我在关注这篇文章:http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
我注意到,当我尝试进行 ajax 调用时,它给了我页面本身 (myPage.aspx),而不是我的 WebMethod 的结果。在这一点上,我基本上是直接使用上面文章中的代码。 javascript是:
$(document).ready(function () {
// Add the page method call as an onclick handler for the div.
$("#Result").click(function () {
$.ajax({
type: "POST",
url: "myPage.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Replace the div's content with the page method's return.
$("#Result").text(msg.d);
}
});
});
});
WebMethod 的 myPage.aspx 代码隐藏为:
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
奇怪的是我让它在一个单独的测试页面上工作,但是当我试图将它集成到我想要使用它的实际页面中时,它没有。在搜索网站和网络时,我找不到任何解决我问题的方法。
我正在运行 Sitecore 6.5 和 .NET Framework 4.0 版。任何人都可以提供帮助或提供见解吗?
【问题讨论】:
-
为什么不包含像这样的错误函数错误:function (xhr, status, error) { var msg = JSON.parse(xhr.responseText); alert(msg.Message);} 并查看它是否抛出任何错误或使用 firebug 检查请求和响应
-
@user1042031 我之前查看了响应标头,它返回的是页面本身的 HTML 文本/html。我不太确定为什么会这样。
标签: jquery ajax sitecore webmethod