ajax没有在url中调用方法

时间:2015-04-02 20:53:25

标签: jquery ajax dropdownbox

这是我第一次使用ajax,所以我不确定我哪里出错了。 当下拉列表发生变化时,我在javascript中调用一个方法,我想在代码隐藏中调用一个方法。 这是Dropdown的标记:

    <asp:DropDownList ID="ddListSubject" runat="server" ClientIDMode="Static" onchange="SubjectChanged()" CssClass="chosen-single">
        </asp:DropDownList>

这是javascript函数&#39; SubjectChange()&#39;这叫做。

 function SubjectChanged() {
        var strSubject = document.getElementById("ddListSubject").value;
        if (strSubject == "Custom") {
            document.getElementById("txtBoxSubject").value = "";
            document.getElementById("txtBoxSubject").focus();
         }
        else {
            document.getElementById("txtBoxSubject").value = strSubject;
        }
        ShowMaxMsgLength();
        CountChars();
     }

功能&#39; ShowMaxMsgLength()&#39;包含调用代码隐藏方法中的方法的ajax代码:

function ShowMaxMsgLength() {                          
        $.ajax({
                type: "POST",
                url: "Default.aspx/GetMaxMsgLength",
                data: "{'id': '1'}",
                contentType: "application/json; charset=utf-8",
                datatype: "json",
                success: OnSuccess,
                failure: OnFailure,
                error: function (exception) { alert('Exception:' + exception); }
                });
    };

这是代码隐藏中的GetMaxMsgLength()方法:

 public static string GetMaxMsgLength(int id)
        {
            string tstrMaxMsgLength = string.Empty;       
            return tstrMaxMsgLength = "32";
        }

我只是想让它回归&#39; 32&#39;现在看看它是否正在运行该方法。 我知道ShowMaxMsgLength()被调用是因为我发出了警告&#39;在它。

返回了一个例外:&#39;异常:[object Object]&#39;。 我不知道我没有设置导致此例外的原因。

感谢。

1 个答案:

答案 0 :(得分:0)

这只是新手想念的东西...... 添加  方法之前的[System.Web.Services.WebMethod]属性,GetMaxMgsLength。