jquery ajax调用不是调用服务器端方法

san*_*hra 2 jquery

我通过使用jquery ajax post方法调用服务器端方法.但它没有被调用下面是我的代码..

JS

var templateName = $("#txtTemplateName").val().trim(),
htmlHeader = $("#txtHtmlHead").val().trim(),
header = $("#txtHeader").val().trim(),
footer = $("#txtFooter").val().trim()

var templateData = {
    templateName: templateName,
    htmlHeader: htmlHeader,
    header: header,
    footer: footer       
};
Run Code Online (Sandbox Code Playgroud)

我创建了javascript对象

$.ajax({
    type: "POST",
    url: "template_brow.aspx/SaveTemplate",
    data: JSON.stringify(templateData),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(result) {
        alert(result.d);
        $("#divTemplate").find("input[type=text]").val('');
        $("#divTemplate").find("textarea").val('');
    },
    error: function() {
        alert("Error while calling the server!");
    }
});
Run Code Online (Sandbox Code Playgroud)

在服务器端,我制作了一个具有上述属性的自定义类

[WebMethod(EnableSession = true)]
public static string SaveTemplate(TemplateVariables oTemplateVariables)
{
----

}
Run Code Online (Sandbox Code Playgroud)

TemplateVariables是客户类

任何人都可以帮我这个

小智 5

var templateName = $("#txtTemplateName").val().trim(),
htmlHeader = $("#txtHtmlHead").val().trim(),
header = $("#txtHeader").val().trim(),
footer = $("#txtFooter").val().trim()

var templateData = {
    templateName: templateName,
    htmlHeader: htmlHeader,
    header: header,
    footer: footer       
};
Run Code Online (Sandbox Code Playgroud)

在这段代码写完之后:

var strData={}; 
strData.oTemplateVariables = templateData;
Run Code Online (Sandbox Code Playgroud)

然后在ajax调用中写入"data:JSON.stringify(strData)"而不是"data:JSON.stringify(templateData)",如下所示:

$.ajax({
    type: "POST",
    url: "template_brow.aspx/SaveTemplate",
    data: JSON.stringify(strData),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(result) {
        alert(result.d);
        $("#divTemplate").find("input[type=text]").val('');
        $("#divTemplate").find("textarea").val('');
    },
    error: function() {
        alert("Error while calling the server!");
    }
});
Run Code Online (Sandbox Code Playgroud)

它会工作.