WinJS.xhr不读外来字符

时间:2015-10-28 11:30:18

标签: javascript character-encoding xmlhttprequest win-universal-app winjs

我正在制作一个WinJS UWP应用程序,我得到了一个返回HTML页面源的xhr

WinJS.xhr({
        type: "get",
        url: "http://rozvrhuni.hys.cz/150909_2.html", 
        headers: "Accept-Charset= windows-1250, Accept-Language= cs",
    }).done(function (result) {
        htmlText = result.responseText.toString();
    },
    function error(request) {
        (new Windows.UI.Popups.MessageDialog("Non-existant content", "Error")).showAsync().done();
        return;
    });

得到的值的示例:“Bakal i - Suplov n ”

原文:“Bakaláři - Suplování”

页面为Content-type: text/html; charset= windows-1250Content-language: cs

正如您所看到的,我尝试使用标题正确读取它,但没有尝试过我所尝试的内容,有时请求在应用后失败了。

我对http请求和相关内容相当新,所以我所做的大部分内容都是通过在线示例或解决方案组合而成的。

对于正确阅读页面的请求,我需要做什么?

1 个答案:

答案 0 :(得分:0)

永远到处寻找之后,我尝试了这个并且它有效......

var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://rozvrhuni.hys.cz/150909_2.html", false, document);
    xhr.setRequestHeader("Content-Type", "text/html; charset=windows-1250");
    if (xhr.overrideMimeType) xhr.overrideMimeType("text/html; charset=windows-1250");
    try {
        xhr.send()
        htmlText = xhr.responseText;
        //Work with htmlText
    } catch (e) {
        (new Windows.UI.Popups.MessageDialog("Something went wrong", "Error")).showAsync().done();
        return;
    }