2014-02-07 98 views
0

從我的主頁我打開一個fancybox,我通過JQUERY AJAX請求提交信息。無法在IE和Chrome中使用jQuery Ajax重新加載DIV

然後,此提交應使用JQUERY .LOAD命令在主頁上填充DIV。

奇怪的是,我只能得到這個在Firefox中工作。

我喜歡它也適用於Chrome和IE瀏覽器,但無法看到我的AJAX調用出現問題。有人能幫助嗎?

$.ajax({ 
     type: "POST", 
      url: "../ajax/add-ingredient-to-recipe.php?"+dataString, 
      dataType: "html", 
      data: dataString, 

      }).done(function(){ 

      top.frames.$.fancybox.close(true); 
      top.frames.$('.calorie-table').load('./views/nutritional-data.tmp.php', function(){ 

       top.frames.$('.calorie-table').hide(); 
       top.frames.$('.calorie-table').fadeIn(800).css({backgroundColor: "#dddddd" }); 

      }); 
     }); 
+0

你得到任何控制檯Chrome中出現錯誤?查看開發人員標籤 編輯:嗯看起來像top.frames無法在Chrome中工作。看看這個問題:http://stackoverflow.com/questions/18762352/top-frames-wont-work-in-chrome – Ruben

+0

我懷疑'top.frames'是什麼導致你的問題:http://跨瀏覽器.com/talk/inter-frame_comm.html –

+0

我認爲top.frames可能會導致一些問題,但是,如果我刪除它fancybox甚至不會關閉。我會檢查你提供的鏈接Jeffrey – useyourillusiontoo

回答

0

所以我想通了,希望它能幫助其他人有同樣的問題。

我工作的MAC所以在IE無法測試,但它工作在Safari,Chrome瀏覽器,火狐

我不得不從父頁面重新加載的div $(「卡路里表」),而不是從AJAX請求。

這是在腳本中做到這一點打開的fancybox,現在讀父頁上:

$(".add-food-button").fancybox({ 
    width : 750, 
    height : 430, 
    fitToView : false, 
    autoSize : false, 
    transitionIn : 'elastic', 
    transitionOut : 'elastic', 
    type    : 'iframe', 
    afterClose : function() { 
     $('.calorie-table').load('./views/nutritional-data.tmp.php'); 
     $('.calorie-table').hide(); 
     $('.calorie-table').fadeIn(800); 
    } 

    }); 

我的AJAX調用現在看起來是這樣的:

  $.ajax({ 
     type: "POST", 
      url: "../ajax/add-ingredient-to-recipe.php?"+dataString, 
      dataType: "html", 
      data: dataString, 

      }).done(function(){ 

      window.top.$.fancybox.close(true); 

     });