JavaScript中Ajax响应对象无法获取responseText的问题求助
解决Ajax获取responseText的问题
嘿,我一眼就瞅出问题在哪啦!你不该把data对象转成JSON字符串的,因为字符串根本没有responseText这个属性,这就是为啥你拿到undefined的原因。
错误原因分析
你写的var result_act = JSON.stringify(data);是把整个Ajax响应对象转换成了纯字符串,之后再去访问result_act.responseText,就像在一串文字里找对象的属性,肯定找不到呀!
修正后的代码
直接从原始的data对象里读取responseText就行,要是觉得返回的内容带多余的换行,用trim()去掉首尾空白字符就完美了:
complete: function(data) { // 直接访问响应对象的responseText属性 var resp = data.responseText; // 去除首尾的换行、空格等空白字符 var cleanedResp = resp.trim(); alert(cleanedResp); // 这里会输出"success" }
额外小提示
如果你用的是jQuery的Ajax,其实还可以用success回调直接拿到处理后的响应内容;要是后端返回的是JSON格式,用data.responseJSON会更省心~
内容的提问来源于stack exchange,提问作者KMS
相关产品推荐
相关产品推荐

