当我以aspx格式调用ajax到代码方法时,会显示这种类型的错误。
这种类型的错误问题在stackoverflow和其他站点中也被问过很多次,但是它们的解决方案对我来说不起作用。
这就是为什么我问重复类型的问题。
完全错误是这样的,
{消息:“无效的Web服务调用,缺少参数'addData'的值。”,...}
ExceptionType:“ System.InvalidOperationException”
消息:“无效的Web服务调用,缺少参数'addData'的值。”
StackTrace:“位于System.Web.Script.Services.WebServiceMethodData.CallMethod(对象目标,IDictionary 2 parameters)
? at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary
2个参数)
?在System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext上下文,WebServiceMethodData methodData,IDictionary`2 rawParams)中
?在System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext上下文,WebServiceMethodData methodData)“
这是我调用cs方法的ajax代码,
var addData = {
'name': document.getElementById("txt_unitname").value,
'isactive': document.getElementById("chb_isactive").value
};
function AddUnit() {
$.ajax({ type: "POST",
url: "UnitMaster.aspx/AddUnit",
data: JSON.stringify(addData),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (result) {
alert();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed to do this operation.');
}
});
}
这是ajax调用要工作的CS方法,
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string AddUnit(string addData)
{
return addData;
}
因此,当我那时调用ajax时,仅显示错误,因此无法调用webmethod。我通过放置调试点进行检查。