無料版FC2のWebサーバーで$.ajax()使って外部ファイル取得、表示させた時のメモ

  • このエントリーをはてなブックマークに追加

どうもPCの前でGWを過ごしておりますりっくんですこんにちわ。予定が常に埋まっているわけではないのですよ、PCの前にいるって決めてた時間もまぁありますが・・・。

 

さて、ちょうど今、成蹊JOINT2012という大学1年生向けなDebate大会のWebページを作ってるのですが、その関係でFC2のサーバーを使ってます。そこで、更新履歴を各ページに表示させる時、すべてのページで更新させるのがめんどいので別ファイル作ってそこから呼び出そうとしたんですが・・・、多分FC2の仕様(主に広告関係)で上手くいかなかったみたいなのです。

次回またやらかすだろうなぁとか思うので一応メモ。まぁゴリ押しな気がしますけどw

 

詰まったところ

とりあえず初めはこんな感じだったんです。

// 更新履歴ロード
$(function(){
		$.ajax({
			type : 'GET',
			url : 'http://hogehoge.web.hogehogefc2.com/news.html',
			dataType : 'html',
			success : function(data) {
				$('.whatsnew ul.alt').append(data);
			},
		});
});

更新履歴だけ書いていく’news.html’ってのを作って読み込んだのを.append()で追加してたんですよ。けどこのまま突っ込むとdocumentが読み終わって実行されるとすぐにページ全体が真っ白に(んで広告だけ表示される)状態になっちゃう・・・んですよ。・・・自分でうまく説明できない。

ようは、全体が変わっちゃうんです。真っ白広告ありに。

推測なんですけど、多分FC2の広告表示部分でなんか競合してたんだと思います、news.htmlもFC2のサーバー上にあるし、news.htmlを単体で開いても広告が表示されましたので、そういうことなのかなぁと。

解決法 

// 更新履歴ロード
$(function(){
		$.ajax({
			type : 'GET',
			url : 'http://hogehoge.web.hogehogefc2.com/news.txt',
			dataType : 'html',
			success : function(data) {
				$('.whatsnew ul.alt').append(data);
			},
		});
});

なので、htmlファイル辞めました!

txtファイルにリネームしただけ(言い忘れましたが中身は<li></li>が入ってるだけですこれ)。
txtファイルには手が加えられないみたいですね?・x・ 

なんていうか、これでいいのか?感はすごくあるんですがまぁいいかなぁ・・・?w

ちょっとスマートじゃない感じもしますが、一応そのファイルいじるだけで更新履歴は全ファイルに適用されるのでこのまま行きます・x・

 

まだ完成してないけどとりあえず僕が進められるのはここまでで、コンテンツ待ち状態です。運営の方々頑張ってください!

あー、勉強になった。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメント

  1. ricck より:

    リファレンス見てきたけどdataTypeはtextにしたほうがいいのかな?・x・
    どっちが良いのかわからぬぞー・x・

ricck へ返信する コメントをキャンセル