从 javascript 调用页面方法的问题

问题描述

我以前没有用过这个,所以我可能遗漏了一些东西,这可能吗?

 function myFunc(obj) {
        $(document).ready(function () {

            $.ajax({
                type: "POST",url: "CMSWebParts_PSS_Test.aspx/CallMe",data: obj,contentType: "application/json; charset=utf-8",dataType: "json",success: function (msg) {
                }
            });
        });
    }

还有.cs:

    public partial class CMSWebParts_PSS_Test : CMSAbstractWebPart
    { ...
    [WebMethod]
        public static string CallMe(string data)
        {
           return card;
        }...
    }

我不断收到 404。 尝试使用 PageMethods 但仍然得到相同的结果。

解决方法

让你的数据成为字符串

data: JSON.stringify(obj),

msg 是一个包装器。请求的数据放入属性 -> d

success: function (msg) {
    alert(msg.d):
}

此外,调用您的函数 myFunc 使用 $(document).ready


更新:尝试将成功部分移到初始调用之外,将名称更改为“完成”。

$.ajax({
    type: "POST",url: "CMSWebParts_PSS_Test.aspx/CallMe",data: JSON.stringify(obj),contentType: "application/json; charset=utf-8",dataType: "json"        
}).done(function (msg) {
    alert(msg.d);
)}.fail(function() {
   //
});