2

这是我第一次尝试使用 jQuery.ajax() 调用 WebMethod。我已经搜索和搜索了stackoverflow,以及Google我不知道多少次,此时我觉得我只是在尝试我找到的随机修复,希望有些东西能奏效。我当然已经停止学习,所以我想是时候问了。

我的错误:未知的网络方法日期。参数名称:方​​法名。

我的班级和 WebMethod:

[ScriptService]
public partial class _Maps : Page
{

    protected void Page_PreLoad(object sender, EventArgs e)
    {

    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [WebMethod]
    public static string Date()
    {
        return DateTime.Now.ToString();
    }
}

我的页面:

<html>
<head>
    <title>jQuery</title>
    <script type ="text/javascript" src ="Scripts/jquery-1.8.2.min.js"></script>
    <script type ="text/javascript" src ="Scripts/cSharp.js"></script>   
</head>
<body>
    <div id="clickArea" style="height: 1000px"></div>
</body>
</html>

和我的 Javascript:

$(document).ready(function ()
{
    $("#clickArea").click(function ()
    {
        alert("Clicked");
        $.ajax(
            {
                type: "POST",
                url: 'Maps.aspx/Date',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg)
                {
                    alert(msg);
                    $("#clickArea").text(msg.d);
                },
                error: function(xhr, msg, msg2)
                {
                    alert(msg2);
                    alert(xhr.responseText);
                }
            });
    });
});

我知道这个问题已经被问过很多次了,但是我对所使用的技术的经验有限,而且我知道我一定错过了一些愚蠢的东西。我几乎整天都在做这个,我觉得我现在只是在兜圈子。如果需要,我可以发布更多信息。

谢谢。

4

1 回答 1

0

终于解决了!

我需要做的就是在页面声明中设置我的 .ASPX 页面的 Inherits 属性。它找不到方法,因为后面的代码不是我的实际页面,它有我的 WebMethod。愚蠢的,就像我想象的那样。

于 2013-09-17T21:29:41.610 回答