我认为这可能是配置问题,但我无法弄清楚为什么我能够从ajax进行调用,如果contentType是“Json”但是如果我将其更改为xml则不会调用该webmethod。有人可以帮忙吗
以下代码无效。
在JavaScript中
$.ajax({
type: "POST",
dataType: "xml",
contentType: "application/xml; charset=utf-8",
url: "Test.aspx/GenerateXML",
success: function (result) {
alert(result)
},
error: function (error, e1, e2) {
alert(error);
}
});
在aspx.cs页面中的C#
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml, UseHttpGet = false, XmlSerializeString = true)]
public static DataTable GenerateXML()
{
TestCalculator testCalculator = new TestCalculator();
DataTable dataTable = new DataTable();
dataTable = testCalculator.GetValue("Test");
return dataTable;
}
工作代码 在JavaScript中
$.ajax({
type: "POST",
dataType: "Json",
contentType: "application/Json; charset=utf-8",
url: "Test.aspx/GenerateXML",
success: function (result) {
alert(result)
},
error: function (error, e1, e2) {
alert(error);
}
});
C#代码
[WebMethod]
public static DataTable GenerateXML()
{
TestCalculator testCalculator = new TestCalculator();
DataTable dataTable = new DataTable();
dataTable = testCalculator.GetValue("Test");
return dataTable;
}