0

これが私のコードです:

...
$('#collection_menu ul li').click(function(e) {
  e.preventDefault();
  e.stopPropagation();

  shoesApparaissent();
});

...

function shoesApparaissent() {

  $.ajax({
    async:true,
    url : hrefCollection,
    type : 'GET',
    dataType : 'json'
  }).success(function(data) {

console.log("data: " + data);

  }).fail(function(e, str) {

console.log(e+'\n'+str);

});
...

このコードは、ページにコードが含まれているページをリロードする前に、FF、Safari、Opera、およびWindows7のIEを除く他のすべてのナビゲーターで機能しているようです。

クリックイベントを発生させると、関数'shoesApparaissent()'が呼び出され、$。ajaxは成功イベントまたは失敗イベントを発生させません(コンソールには何も表示されません)。

ここで何が問題なのかわかりませんが、何かアイデアはありますか?

4

1 に答える 1

0

どのバージョンのjQueryを使用していますか?この回答では、1.8などのより新しいバージョンを使用すると仮定します。jQuery 1.5以降では、$。ajax()メソッドはインターフェイスを実装するオブジェクトを返しPromiseます。

.success()コールバック(jQuery 1.8で非推奨)を使用する代わりに、代わりに使用.done()してください。

$.ajax({
    url: hrefCollection,
    type: 'GET',
    dataType : 'json'
}).done(function(data) {
    console.log("data: " + data);
}).fail(function(e, str) {
    console.log(e+'\n'+str);
});
于 2013-01-10T12:01:52.267 に答える