1

单击按钮时,我正在尝试使用 jquery 调用 ac# 函数。发生的情况是返回变量 (msg) 为空。

按钮代码:

    <button id="test1" runat="server">Get Text</button>

jQuery 代码:

    $(document).ready(function() {

        $("#test1").click(function() {
            $.ajax({
                type: "POST",
                url: "ServiceDirectoryAdd.aspx/GetCurrentDate",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });


        });

    });

C#函数:

    [WebMethod]
    public static string GetCurrentDate()
    {

        return "foo";
    } 

正如我所说,返回变量 msg 返回 null。有什么我做错了吗?

编辑:在 C# 函数中放置断点后,程序似乎没有进入函数。

4

3 回答 3

0

你试过一个GET吗?

$.get("ServiceDirectoryAdd.aspx/GetCurrentDate", function(data){
    alert(data || data.d);
});

并编辑webmethod接受get

[WebMethod]
[ScriptMethod(UseHttpGet=true)]
public static string GetCurrentDate()
{

    return "foo";
} 
于 2013-05-29T18:16:47.963 回答
0

尝试索引味精

alert(msg[0]); or  alert(msg.d);
于 2013-05-29T18:17:36.860 回答
0

您是否将脚本管理器添加到页面。如果你没有添加它。请添加它,然后将脚本管理器“EnablePageMethod”属性设置为 true。

这是链接。 http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

于 2013-05-29T18:37:10.397 回答