私はフォームを投稿し、単純なHTMLを使用してターゲットiframeにサーバー応答を受け取ろうとしています。私はこれまで持っていることは次のとおりです。IE9でポストが正常に動作しない
<iframe name="iframe" id="iframe" onload="loaded()" style="display:none"></iframe>
私が持っているより:
<form id="form" action="/rpc/test" method="post" target="iframe">
<!--....... form input ............-->
<input type="submit" class="button" name="Test" id="Test" value="Test">
</form>
、最終的に応答を処理する必要があり、私は機能がロードされているスクリプトタグ内:
<script language="javascript" type="text/javascript">
function loaded() {
var ifr = document.getElementById('iframe');
var dc = ifr.contentWindow || ifr.contentDocument;
if (dc.document) {
dc = dc.document;
}
var rsp = dc.documentElement.innerText || dc.documentElement.textContent;
var obj = JSON.parse(rsp);
if (obj && obj.success === true) {
// DO very important things
return;
}
}
</script>
をこれは、IE9を除くすべての可能なブラウザで絶対にうまく動作します(IEのバージョンが低いとテストしません)。 IE9では、応答は正しいサーバー応答を含むファイルです。 IE9は私に "あなたはオープンしたいのですか.....保存しますか?"
私のサーバーはnodejsです。私は応答を設定します。
resposnse.writeHead(200, { 'Content-Type': 'application/json' });
Iは、Content-Typeは 'アプリケーション/ jsonの'
任意のアイデアであることをIE9ネットワークモニタで追跡することができますか?
を助ける最初
希望をクロム。 目的のURLをcURLまたはWGETして、サーバーが元に戻したヘッダーを印刷します。 node.jsをサーバーとして使用しているのですか、またはnginxのようなものが前面にありますか? –