页面脚本中的写法:
$.ajax({url: "http://localhost:3510/WebSite/WebService/ExceptionRecoder.asmx/SetExceptionInfo",contentType: "application/json; charset=utf-8", type: "POST", dataType: "json", data: "{mStrException:'"+ e +"'}",success: function (json) { alert(json.d); }});
服务写法:
[System.Web.Script.Services.ScriptService]
public class ExceptionRecoder : System.Web.Services.WebService
{/// <summary>/// 记录前台传入的信息/// </summary>/// <param name="ex">异常类内容</param>/// <returns></returns>[WebMethod(EnableSession = true)]public string SetExceptionInfo(string mStrException){string errorMethod = null;string remark ="";LogHelper.Instance().WriteErrorLog(BizLogEnum.SystemError.ToString(), mStrException, mStrException,null, errorMethod, remark);return "true";}
}
注意:当前台调用不到带参数的服务时,一般有这两种原因:1可能是因为你前台传参数时候data:拼接参数值不对 2可能是因为服务里面
“//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService]”这句话可能被注销掉了。