当ajax请求readyState == 3时调用此函数,
function(context, xhrobj, itself){
//Test if context.responseText is available here.
var text = context.responseText;
//Do stuff
}我如何能够测试context.responseText是否可用?我现在正在做这个,
if ($.browser.msie) return false;但我真的不想做浏览器检测,是否有一种方法来检测context.responseText是否无效?专门针对IE7/8的,我不支持6或更低版本。
我试过了,
if('responseText' in context) return false;它不起作用,因为它是在上下文中,只是不可用,而且
try{context.responseText;} catch(x){return false;}但这看上去像是黑客。
发布于 2011-01-18 18:25:24
无论是文本还是xml,上下文都不会初始化响应对象。因此,除非您为响应的实际创建/初始化/填充实现某种类型的观察者,否则第二个try...catch似乎完成了您需要它做的事情。它不是黑客,因为context.responseText不是创建的,因此没有初始化。
我将继续关注这个线程,但我认为IMHO --您的方法是合适的。
祝你好运,
乔希
https://stackoverflow.com/questions/4727543
复制相似问题