2016-07-07 48 views
0

我試圖在點擊時打開一個div的內容,我無法弄清楚我要去哪裏錯了,任何幫助都非常有趣。謝謝
HTML:使用jquery和ajax在div中加載一個頁面

<li><a id="hrefid" href="#link">Link</a></li> 

<div id="content"> </div> 

的Jquery:

$('#hrefid').on('click', function (e) { 
    var load = $(e.target).attr("href"); 
    if(load == "#link") { 
     $.ajax({ 
      type: 'post', 
      url: "/page/test/272.html", 
      complete: function (event) { 
       $("#content").contents().remove(); 
       $("#content").append(event.responseText); 
      } 
     }); 
    } 
    }); 
+1

爲什麼使用'complete'而不是'successful'?或者你可以按照[the doco](http://api.jquery.com/jquery.ajax/)中的例子使用'.done()'。 – nnnnnn

+0

什麼是你的問題,什麼部分不能按預期工作? – Ahsan

回答

2

你想要的操作是GET操作,據我瞭解,這樣反而type: 'post'使其type: 'get'

+0

我可以通過使開關得到它的工作,謝謝!關於如何將標記中的「id」傳遞給ajax url以將其附加到它的末尾? – DN0300

+0

很高興提供幫助,如果您滿意,請接受答案。對於您的其他問題,您可以在錨標記上使用數據屬性,並在click事件中使用$(this).data('id')獲取它,然後將其連接到url。 – Ahsan

+0

非常感謝你!我能夠得到它的工作。我動態加載多個鏈接與不同的數據ID和相同的,AJAX調用只能在第一個鏈接的任何建議我怎麼能得到它的所有鏈接? – DN0300

0

jquery load會好很多選擇,請嘗試下面的代碼

$('#hrefid').on('click', function (e) { 
    var load = $(e.target).attr("href"); 
    if(load == "#link") { 
     $("#content").load("/page/test/272.html", function() { 
      //anything after load is complete 
     }); 
    } 
}); 
相關問題