前端代码
function examine(t) { $.ajax({ type: 'post', url: 'Ashx/Examine.ashx?id=' + t, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status + "----" + XMLHttpRequest.readyState + "----" + textStatus); }, success: function (result) { alert(result); } }); location.reload(); }
后台ashx
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if(context.Request.QueryString["id"]==null) { context.Response.Clear(); context.Response.Write("参数错误"); context.Response.End(); } else { string id = context.Request.QueryString["id"]; if(SqlHelper.UserInfo.Examine(Convert.ToInt32(id))) { context.Response.Clear(); context.Response.Write("审核通过"); context.Response.End(); } else { context.Response.Clear(); context.Response.Write("审核失败"); context.Response.End(); } } }
ashx代码已执行,就是会返回error
另外用firebug断点调试的时候有时候可以
找到错了,妈蛋,我把location.reload()写到ajax外边就不行,得写到success里
你看看错误信息是啥?有可能是类型转换之类的错误。
建议看一下返回的http状态码是什么?走error,说明http状态码不是200。
孙猴子用post提交, 用 QueryString接收值, 我也是醉了。
用Request.Form["ID"]才对, 阿弥陀佛~!
自己调试一下看看啊,出了什么错?
你的代码能执行完吗,还是到
string id = context.Request.QueryString["id"];
if(SqlHelper.UserInfo.Examine(Convert.ToInt32(id)))
这个地方就出错了?
找到错了,妈蛋,我把location.reload()写到ajax外边就不行,得写到success里
请用vs 调试 ,firebug是调试JS的,另楼上说到点上了
我碰到这种问题一般是先F12看看http请求的错误原因
dataType:"JSON" 数据类型加上看看