AJAX从php文件加载指定的函数

时间:2014-01-09 10:46:39

标签: javascript php jquery ajax

我目前正在使用下面的脚本用我需要的数据填充一些div

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。例如。

2 个答案:

答案 0 :(得分:4)

Ajax& PHP是不同的技术,这意味着它们只能以某种方式进行通信

这意味着如果您有1个或100个文件无关紧要,如果您可以调用文件中的函数,则可以将其保存到一个文件

我建议这样做:


<强> PARAMS

jquery $.GET parameters passing in the url

您可以将$.GET请求中的参数传递到PHP文件。这意味着在你的PHP中,你可以采取这些参数和&amp;确定输出

因为您没有发布任何PHP代码,所以您可以使用以下内容:

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

答案 1 :(得分: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');