2014-01-09 155 views
0

我目前使用下面的腳本來填充一些div數據指定的函數從PHP文件,我需要AJAX負荷

function fillLeagues(){ 
    var load = $.get('drawleague.php'); 
    $(".really").html('Refreshing'); 
    load.error(function() { 
     console.log("Mlkia kaneis"); 
     $(".really").html('failed to load'); 
     // do something here if request failed 
    }); 
    load.success(function(res) { 
     console.log("Success"); 
     $(".really").html(res); 
    }); 
    load.done(function() { 
     console.log("Completed"); 
    }); 
} 

我想知道是否有可能調用某個功能在drawleague.php文件,將返回信息,因爲我不想用10個PHP文件來填充10個div。

+1

使用GET參數,讓輸出根據這些參數 – thpl

+0

我沒有想到的是你的PHP腳本處理。非常感謝! – LefterisL

回答

4

Ajax & PHP是不同的技術,這意味着它們只能在某些方面

這意味着,如果你有1個或100個文件也沒關係,如果你可以調用的文件中的函數溝通,你可以隨時給一個文件

我會推薦這:


PARAMS

jquery $.GET parameters passing in the url

您可以通過$.GET請求您PHP文件傳遞參數。這意味着你的PHP裏面,你可以把這些PARAMS &確定輸出

因爲你沒有帶發佈任何PHP代碼,這裏就是你可能是什麼能夠使用:

<? 
    switch ($_GET["name"]) { 
     case "x": 
     return $image_x; 
     break; 
     } 
    } 
?> 
+0

托馬斯大衛在上面說了幾句話。我一直在向PHP傳遞數據,但並沒有想到要確定PHP文件的輸出。更詳細的答案。謝謝 – LefterisL

+1

Np,托馬斯的評論在我有機會完成之前就開始了,所以我認爲我會發布 –

+1

如果你決定接受這兩個答案,我建議你選擇@RichPeck的。背景信息在這裏更詳細。 – thpl

2

我建議你使用get參數來實現這種行爲。通過Get參數傳遞函數名稱,並在您的PHP文件中調用它。當然,你需要創造一些保護。見下面(漂亮的條件)。

<?php 

$param = $_GET['p']; 

$whitelist = [ 
    'func1', 
    'func2', 
    'func3' 
]; 

if(!in_array($param, $whitelist)) 
    die("Sorry, no manipulating"); 

call_user_func($param); 

function func1() 
{ 
    //Some stuff 
} 


function func2() 
{ 
    //Some stuff 
} 


function func3() 
{ 
    //Some stuff 
} 

?> 

然後通過帕拉姆在你的JS部分:

var load = $.get('drawleague.php?p=func1');