作者valda (valda)
看板Ajax
标题[问题] 请问Exception相关问题(ashx 搭配jQuery)
时间Fri Aug 24 17:58:15 2012
ashx code
try
{
XXXXXXX
context.Response.Write(JsonConvert.SerializeObject(dt));
}
catch (Exception ex)
{
context.Response.Write(ex.ToString());
}
jQuery
$.ajax({
type: "post",
url: "XXXX.ashx",
data: 'StartMonth=' + $("
#txtStartMonth").val() + "&EndMonth=" +
$("
#txtEndMonth").val(),
success: function (response, status, xhr) {
ParseCTMData(response);
},
error: function (xhr, status, error) {
console.log('xhr---->');
console.log(xhr.status);
console.log(xhr);
console.log('<----xhr');
console.log('status---->');
console.log(status);
console.log('<----status');
console.log('error---->');
console.log(error);
console.log('<----error');
alert('error code:' + xhr.status + ',error message:' + error);
}
})
如果ashx中真的有error产生,jQuery还是会掉到success中的回圈,不会跑到error中
,请问要如何设计exception handle较好呢?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.45.113
1F:推 ChowMein:4xx 5xx ??? 08/24 18:09
3F:→ Ageis:错误被抑制,回传的http code 还是200,当然跑success啊… 08/24 21:43
4F:→ valda:所以建议ashx端不要加try catch 吗? 08/24 23:04
5F:→ hermitwhite:我不懂ashx不过你在success中加个条件判定让它导向你 08/25 10:09
6F:→ hermitwhite:要的东西(只要你有办法判定格式不正确)然後return, 08/25 10:10
7F:→ hermitwhite:这样可行吗? 08/25 10:11
8F:→ Ageis:如果你要用http code来判断的话,在 catch 那里加上 08/25 12:31
9F:→ Ageis:throw new HttpException(500, 讯息) 08/25 12:33