UTF-8以外でのXMLHttp通信
Ajaxで非同期通信を行う場合それを行うスクリプトとかはUTF-8である必要があるんだけど、UTF-8以外でもそれを可能にする方法。
IE6でのみ動作確認。(それ以外のブラウザの動作は期待してないので調べてません。
主な流れは、通信対象のパスを検索引数としてサーバ側のPHPファイルに通信→PHPでUTF-8に変換されたデータを受信。
クライエント側
<script type="text/javascript"><!--
function loadPage(path){
httpObj = createXMLHttpRequest(displayData);
if(httpObj){
httpObj.open("GET", "convert.php?path="+path, true);
httpObj.send(null);
}
}
function displayData(){
if)((httpObj.readyState==4)&&(httpObj.status==200))({
document.getElementById("ID").innerHTML = decodeURIComponent(httpObj.responseText);
} else {
document.getElementById("ID").innerHTML = "Loading...";
}
}
// --></script>
<a onClick="loadPage('通信対象のパス')">クリック!</a>
<div id="ID"></div>
※XMLHttp通信を行うための共通関数(createXMLHttpRequest)として、Openspaceで紹介されているものを使用。