日期:2014-05-17  浏览次数:20449 次

Response.ContentType类型不确定
我用
<img src="SlabPictutresShow.ashx?PicID=1600&ImageSize=0">
向页SlabPictutresShow.ashx请求图片,但SlabPictutresShow.ashx中会判断用户是否已经登录
已登录设定Response.ContentType为image/jpeg,并用Response.WriteFile(FileName)输出图片
未登录设定Response.ContentType为text/plain,并用Response.Write("Session超时!")输出文本
可是因为是用<img src="SlabPictutresShow.ashx?PicID=1600&ImageSize=0">这样的方式从服务器取数据的
只用户登录时才能成功取到图片,用户未登录时我取不到这个"Session超时!"输出文本
要改用怎样怎么才能取到这个"Session超时!"的文本?
因为是用phonegap打包成app应用的,我想如果返回的是这个"Session超时!"时,自动完成重登录.
目前用$("#img").error();,但它只能提供加载出错,我截取不到这个错误的具体信息.
图片

------解决方案--------------------
试一下

<img src="SlabPictutresShow.ashx?PicID=1600&ImageSize=0" onerror="window.location.href='login.aspx';">
------解决方案--------------------
看具体错误信息可以使用火狐的Firebug,再页面请求里面能看到他原生的错误的
------解决方案--------------------
把"Session超时!"输出称一张图片
------解决方案--------------------
如果你用<img src="...ashx">,js是无法获取“session 超时”错误的,所以建议了加一个onerror处理,如果图像没有成功装载的话,用js把用户转向到登陆页面,当然你也可以在onerror里自动登录。。。
------解决方案--------------------
引用:
Quote: 引用:

看具体错误信息可以使用火狐的Firebug,再页面请求里面能看到他原生的错误的


要在js里捕捉,调试工具当然可以捕捉到这个错误,但js可以吗?


你的js会报错吗??
firebug也可以调试js的呀

还有你用户重登陆一块  有些用户标识信息可以存cookie,session丢失时可以去检查cookie再进行重登