IE 7を持つユーザーのために回避策を見つけようとしています。基本的にクライアントサイドのJavaScriptアプリケーションでは、以下のコードはnode.jsを実行するサーバーにhttprequestを、クライアントがIE8を持っていてもIE7ではうまくいかない場合は、正常な接続が得られます。思考?ノードサーバーへのHTTPRequestはIE 8では機能しますが、IE 7では機能しません。
var myxmlhttp;
doRequest();
function doRequest() {
var url = "http://someserver:8000/" + username;
myxmlhttp = CreateXmlHttpReq(resultHandler);
if (myxmlhttp) {
XmlHttpGET(myxmlhttp, url);
} else {
alert("An error occured while attempting to process your request.");
// provide an alternative here that does not use XMLHttpRequest
}
}
function resultHandler() {
// request is 'ready'
if (myxmlhttp.readyState == 4) {
// success
if (myxmlhttp.status == 200) {
alert("Success!");
// myxmlhttp.responseText is the content that was received
} else {
alert("There was a problem retrieving the data:\n" + req.status.text);
}
}
}
function CreateXmlHttpReq(handler) {
var xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// users with activeX off
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
if (xmlhttp) xmlhttp.onreadystatechange = handler;
return xmlhttp;
}
// XMLHttp send GEt request
function XmlHttpGET(xmlhttp, url) {
try {
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
} catch (e) {}
}
の異なるタイプを処理するために
CreateXmlHttpReq
機能を微調整する必要があり、問題がxmlhttp.openであるように思われる(「GET」 、url、true);私は次に何をすべきかわからない – DaBears