Shift_JIS HTML 上でも XHR で漢字データを送れる!?
こちらを読んでみて・・
XMLHttpRequestのoverrideMimeTypeでcharsetを指定すれば文字化けはしないはずですよとアドバイスした。
jQuery.ajax で overrideMimeType する方法 - hogehoge
「jQuery.ajax(options)を利用した場合overrideMimeTypeを上書きできない」などと書きましたが全くの誤りでした!
XMLHttpRequest.overrideMimeTypeをjQueryで設定する方法 - IkeTの日記
え!
XHR でも Shift_jis で送れるの!?
ってことで、例のごとく手の空いてる外注さんに試してもらった。
結果はNG。
よく見れば上の記事は、Ubiquity (Firefoxプラグイン) 上での話。
IE6,7 では overrideMimeType をサポートしてないとのこと。
詳しくはこちら↓
IE では、ActiveX Microsoft.XMLDOM を利用すると Content-Type: の制限は回避できます。(IXMLDOMDocument)
ajax - Content-Type: 許容判定 - kawa.net
しかし、GET メソッド専用で POST メソッドが利用できないことや、XMLHttpRequest と構成が違うため、注意が必要です。
やはり、Shift_JIS 環境下のIE では XMLDOM で get か iframe Ajax しかなさそうだ。
残念。
XMLDOM
var dom = new ActiveXObject("MSXML2.DOMDocument"); dom.async = false; dom.load("aaa.xml?p1=あああ"+escape("&")+"p2=いいい");
iframe Ajax
<iframe src="mydomain.html" onload=" var win=this.contentWindow; if(!win.document)win.document=this.contentDocument; document.getElementById('target').value=win.document.getElementById('result'); "></iframe>