IEだけjQuery. load(非同期通信)ができない。

チェックボックスの値をチェックすれば、それに一致するデータを取得するjQueryの処理を書きました。
しかし、クロームやFirefoxではきちんと動作するのですが、IEでは全く反応しません。
いろいろと調べたのですが、解決方法が見つかりませんでした。
どうかよろしくお願いします。

$(function(){
$("input:checkbox").change(function(){getContents();});
$('#time').change(function(){getContents();});
$('#score').change(function(){getContents();});
});

$(".pagination a").live('click', function(){
$("#serviceListSection").load(this.href);
return false;
});

function getChecked(name) {
var AllVals = $('input[name="' + name + '"]:checked').map(function() {
return this.value;
});
AllVals = $.makeArray(AllVals).join('|');
return AllVals;
}

function getContents(){
var timeId =$('#time').val();
var countryId = getChecked('country_id[]');
var genreId = getChecked('genre_id[]');
var feelingId = getChecked('feeling_id[]');
var partnerId = getChecked('partner_id[]');
var scoreId =$('#score').val();

var http = $.get (
"results/title:/time:" + timeId + "/country_id:" + countryId + "/genre_id:" + genreId +
"/feeling_id:" + feelingId + "/partner_id:" + partnerId + "/score:" + scoreId,
null,
function ( data ) {
$("#serviceListSection").html(data);
}
)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/07/12 00:25:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

id:Cherenkov

回答1に追記したリンク先にある、キャッシュ無効化は試しましたか?

2012/07/05 17:30:10
id:sryou1985

返事が遅くなりすいません。
$.ajaxSetup({ cache: false });
を追加したりしたのですが、効果はありませんでした。

2012/07/05 18:24:58
id:y-kawaz No.2

回答回数1422ベストアンサー獲得回数226

ポイント100pt

エラーは表に出てこない場合もあります。
IE9ならF12を押すと開発者ツールが出るので、そのコンソールを見てエラーが出てないかを確認して下さい。
あとネットワークのキャプチャを開始をしてから同じ事を行なって期待するリクエストが発生しているかどうかも確認してみて下さい。

他10件のコメントを見る
id:Lhankor_Mhy

リクエストURLをサーバ側でチェックすると原因が分かりそうな気がします>質問者

2012/07/05 21:20:12
id:y-kawaz

まぁ「~」が怪しいのは最初から思ってましたが。
これvalueを~ではなく半角ハイフン「-」を使うようにして、サーバ側でもハイフンで区切られることを想定した修正をしてやれば直る気がしてきました。
もしくは「~」をURLエンコードしてやれば良いんじゃないかと。

2012/07/05 22:11:48
  • id:Lhankor_Mhy
    補足お願いします。
     
    「全く反応しません」とのことでしたが、
    ・サーバからのレスポンスがない
    ・サーバからのレスポンスはあるがコールバック関数が動作しない
    ・コールバック関数は動作しているが、htmlメソッドで書き出されない。
    の内のどれでしょうか?
     
    なんとなくですが、JSON周りの実装の違いのような気がしますので、Cherenkovさんのご指摘をきちんと調べたほうがいいと思います。
  • id:tukihatu
    >しかし、クロームやFirefoxではきちんと動作するのですが、IEでは全く反応しません。
    これだけだと場所の特定が難しいです。まず障害の切り分けをして見てください。

    .loadが出来ない、と書かれているのでこの部分で止まっていて、他のスクリプトは動いているという解釈でいいでしょうか?
    $("#serviceListSection").load(this.href);

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません