WinJS.xhr 不读外文
WinJS.xhr not reading foreign characters
我正在制作一个 WinJS UWP 应用程序,我给自己一个 xhr returns HTML 页面的来源
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-1250
。 Content-language: cs
.
如您所见,我尝试使用 headers 来正确读取它,但我尝试的方法没有任何效果,有时在应用它们后请求会失败。
我对 http 请求和相关内容还很陌生,所以我所做的大部分工作都是从在线示例或解决方案中总结出来的。
请求正确读取页面需要做什么?
在 forever 到处寻找之后,我尝试了这个并且成功了......
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;
}
我正在制作一个 WinJS UWP 应用程序,我给自己一个 xhr returns HTML 页面的来源
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-1250
。 Content-language: cs
.
如您所见,我尝试使用 headers 来正确读取它,但我尝试的方法没有任何效果,有时在应用它们后请求会失败。
我对 http 请求和相关内容还很陌生,所以我所做的大部分工作都是从在线示例或解决方案中总结出来的。
请求正确读取页面需要做什么?
在 forever 到处寻找之后,我尝试了这个并且成功了......
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;
}