【问题标题】:How to call specific php function through jquery AJAX如何通过jquery AJAX调用特定的php函数
【发布时间】:2018-12-05 00:26:33
【问题描述】:

我有一个对 php 文件的 jquery ajax 调用。但是,该文件包含多个定义的函数,都有些相似。

$conn = mysqli_connect($servername, $username, $password, $dbname);


function loadall(){
    $querystring = "SELECT location, filetype, author FROM globalposts ORDER 
BY date DESC";
    $results = mysqli_query($conn, $querystring);

    $row = mysqli_fetch_array($results, MYSQLI_ASSOC);
    echo json_encode($row);
}

function jasperbriggsload(){
    $querystring = "SELECT title, location FROM omar ORDER BY date DESC";
    $results = mysqli_query($conn, $querystring);

    $row = mysqli_fetch_array($results, MYSQLI_ASSOC);
    echo json_encode($row);
}

我没有使用变量完成重载方法,尽管它们可能适用于我的数据库结构。

我的主要问题是如何通过 ajax 调用外部 php 中的特定函数。如果我想打电话 加载所有() 或者 jasperbriggsload() 仅通过 ajax 参数

【问题讨论】:

  • 什么意思?您的 ajax 可以传入您的 php 可以检查的 get 或 post 参数,并根据该参数决定调用哪个方法。
  • 您所描述的是某些框架提供的功能 - 如果您想在 vanilla php 中实现它,您需要在 PHP 脚本的开头检查 GET 或 POST 数据并直接相应的执行流程。

标签: php jquery ajax


【解决方案1】:

您可以使用call_user_func 传递ajax 发送的函数名作为参数。像这样:

<?php
function test(){
    //your code
}

//This will run the test() function
call_user_func('test');

//This will run the function named as the content of $_REQUEST['funcName']
call_user_func($_REQUEST['funcName']);
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2017-05-20
    • 2018-07-27
    相关资源
    最近更新 更多