プロが教える店舗&オフィスのセキュリティ対策術

jQuery.ajaxで外部ファイルのソースを取り込んでそれを表示させたいのですが、
文字化け対策として、scriptCharsetオプションでキャラセットを統一させたいと思っています。

ところがこのscriptCharsetは、
dataTypeが "jsonp" もしくは "script" でGETの時に機能し、"html"には対応していないようです。

ですので、

<p>てててててててて</p>
<p>すすすすすすす</p>
<p>ととととととととと</p>

というtest.htmlを読み込みたい場合は、

var test=
'<p>てててててててて</p>\r\n'
+'<p>すすすすすすす</p>\r\n'
+'<p>ととととととととと</p>\r\n'

というtest.jsを作って、

$.ajax({
 url: "test.js",
 scriptCharset:"UTF-8",
 dataType:"script",
 complete : function(){
  ~.append(test);
 };
});

という様にやっています(jsonpは未習得なので分かりません)。


でもこれはあまりにも面倒だし応用が効かないので、直接htmlファイルを、文字コード指定で読み込むことはできないかと模索中です。

何か良い方法があれば教えていただけないでしょうか。

よろしくお願いします。

A 回答 (2件)

色々な方法があります。


自分で調べて見ることも大切です。

参考URL:http://memopad.bitter.jp/w3c/jQuery/ajax_load.html

この回答への補足

jQuery.ajaxSetup({
 beforeSend: function(xhr){
  xhr.overrideMimeType("text/html;charset=utf-8");
 },
});


を入れたら直りました。ありがとうございます!

補足日時:2012/01/16 15:44
    • good
    • 0
この回答へのお礼

ありがとうございます!

load()を使うやり方ですね。確かにこれで解決はできるのですが、UTF-8に限られるんですよね。

今後の勉強として、いろいろな文字コードに対応できるような書き方をもう少し調べてみたいと思います。

お礼日時:2012/01/16 14:40

jQueryのソースを直接見てください。



参考URL:http://www.google.co.jp/codesearch#N6Qhr5kJSgQ/S …
    • good
    • 0
この回答へのお礼

ありがとうございます!

たぶん
contentType: "application/x-www-form-urlencoded"

 charset=utf-8
などを加えれば良いのかな?と思って(1.6.4で)やってみているのですが、今のところまだうまく行きません。単に記述ミスなのか、ほかにいじるところがあるのか、、、
色々試し中です。

お礼日時:2012/01/16 12:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!