2010-11-19 11 views
1

私の問題は、jQueryフォームプラグイン(http://jquery.malsup.com/form/)でフォームを送信しようとすると、contentType: scriptと表示されます。私の応答スクリプトを保存しようとします。Internet ExplorerはAjaxフォームのスクリプトを保存しようとしています。

例コード:

$("#vendor_edit").ajaxForm({dataType: "script"}); 

応答が適切に他のすべてのブラウザ上で実行されますが、IEは「vendors.js」このファイルを保存しようとするとされるJavaScript、です。どのようなアイデア、IEを強制的にこのポップアップを引き起こすかもしれない?

+2

レスポンスのcontentTypeとは何ですか? –

+1

これはあなたのマシン上のIEに固有のものですか?はいの場合は、開いているファイルの代わりにダウンロードするブラウザの設定を確認しましたか? [ダウンロード後に確認する]オプションをオンにします。 –

答えて

0

は、使用してみてください:

$().getScript(url, function(data, textStatus){ 
    if (typeof(data) === "object"){ 
     eval(data); //i.e if you're planning to execute your script 
    } 
}); 
0

は、今ではトリッキーでした。レスポンスタイプの問題実際、エクスプローラの "application/javascript"の代わりにSave Asダイアログをトリガするのを止めるには "text/plain"が必要でした。

また、いくつかのクレイジーなreazonに対してeval(レスポンス)を動作させるためにエクスプローラ専用のスクリプト "textarea"タグをラップする必要がありました。他のすべてのブラウザでは、textereaラッパーなしで処理できますが、IEには問題があります(このソリューションはDojoで使用され、コピーされています)。