殇痕TT
2016-06-18 13:00
采纳率: 100%
浏览 1.9k
已采纳

ajax返回值乱码问题,.responseText乱码

function getResult() {
if (http_request.readyState == 4) { // 判断请求状态
if (http_request.status == 200) { // 请求成功,开始处理返回结果
var h=http_request.responseText;
h=h.replace(/\s/g,""); //除去字符串中的Unicode空白
alert(h);
if(h=="登录成功!")
alert("登录成功!");

            else
                {
                    alert("登录失败!");
                    form.account.value="";
                    form.password.value="";
                    form.account.focus();
                }
        } else {                            // 请求页面有错误
            alert("您所请求的页面有错误!");
        }
    }
}
。。。。。。。。。。。
alert(h);这个警告框乱码,使得登录都是失败
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • lzj0327 2016-06-18 13:16
    已采纳
    要么在后台 response.setcharacterencoding设置utf-8,或者不要传汉字过来,传个success
    
    点赞 打赏 评论
  • Robot-S 2016-06-18 13:13

    用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱......
    答案就在这里:AJAX中关于responseText乱码问题
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 打赏 评论
  • lzj0327 2016-06-18 13:14
     ajax返回的是什么,没看出来
    
    点赞 打赏 评论

相关推荐 更多相似问题