好的,我有一个生产环境的问题,以及
jquery ajax如何捕获错误.
在我的本地机器的开发环境中,当jquery ajax调用webservice [webmethod]并且webmethod引发了一个特定的错误时,jquery ajax捕获正确,但在生产环境中,jquery ajax捕获错误,但消息是通用的“有处理请求的错误“.与“内部服务器错误”
例如
c#代码
[WebMethod] public String dostuff(String Auth){ // some code here // if error occurs throw new Exception("Some specific error message"); return "ok"; }
jquery ajax调用
var data = JSON.stringify({ Auth: "some data here" },null); $.ajax({ type: "POST",url: '/Services/memberService.asmx/dostuff',data: data,contentType: "application/json; charset=utf-8",dataType: "json",success: function (result) { alert(result.d); // alert ok },error: function (XMLHttpRequest,textStatus,errorThrown) { alert("responseText=" + XMLHttpRequest.responseText + "\n textStatus=" + textStatus + "\n errorThrown=" + errorThrown); } });
在我的本地机器上,XMLHttpRequest.responseText是“一些特定的错误信息”
在生产环境中,XMLHttpRequest.responseText是“处理请求时出错”.
当地的环境是Windows 7的家庭溢价与IIS 7.5.7600.16385
生产环境是Windows Server 2008 R2与IIS 7.5.7600.16385(与开发环境相同)
为什么差异和如何使生产环境抛出具体的错误?
*********只是一个跟进.. tnx贾斯汀*************
我在服务文件夹里添加了web.config文件(Doh …想知道为什么我没有想到这个)
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <customErrors mode="Off" /> </system.web> </configuration>