我有一個文件加載在我的文檔頂部,名爲Videos.php
。該文件內有幾個功能,如getYoutubeVideos
。在某些頁面上,我需要多次調用該函數(最多50次),並且它在加載時間上當然會造成嚴重滯後。所以我一直試圖找出如何調用該功能,只有當它需要(當有人點擊顯示視頻按鈕)。我對jQuery的ajax能力很少有經驗。我想Ajax調用的東西在裏面待了這樣:使用jQuery加載PHP函數Ajax
jQuery('a[rel=VideoPreview1).click(function(){ jQuery ("a[rel=VideoPreview1]").hide(); jQuery ("a[rel=HideVideoPreview1]").show(); jQuery ("#VideoPreview1").show(); //AJAX STUFF HERE preventDefault(); });
好,我創造了這個基礎上的反應,但它仍然是不工作:
jQuery代碼:
jQuery(document).ready(function(){ jQuery("a[rel=VideoPreview5]").click(function(){ jQuery("a[rel=VideoPreview5]").hide(); jQuery("a[rel=HideVideoPreview5]").show(); jQuery.post("/Classes/Video.php", {action: "getYoutubeVideos", artist: "Train", track: "Hey, Soul Sister"}, function(data){ jQuery("#VideoPreview5").html(data); }, 'json'); jQuery("#VideoPreview5").show(); preventDefault(); }); jQuery("a[rel=HideVideoPreview5]").click(function(){ jQuery("a[rel=VideoPreview5]").show(); jQuery("a[rel=HideVideoPreview5]").hide(); jQuery("#VideoPreview5").hide(); preventDefault(); }); });
而PHP代碼:
$Action = isset($_POST['action']); $Artist = isset($_POST['artist']); $Track = isset($_POST['track']); if($Action == 'getYoutubeVideos') { echo 'where are the videos'; echo json_encode(getYoutubeVideos($Artist.' '.$Track, 1, 5, 'relevance')); }
$ .ajax()???請參閱:http://api.jquery.com/category/ajax/ – 2010-05-10 07:55:08
也忘了提及,我想通過函數傳遞變量(即getYoutubeVideos($ Variables1,$ Variable2);) – 2010-05-10 08:53:57
由於某種原因,我得到了json函數通過將函數的結尾從('json');)移動到({},'json');)來工作。不知道爲什麼括號是必需的,但它的工作原理。搜索變量仍然沒有得到正確發送,但是,接下來的工作。 – 2010-05-11 16:52:52