javascript - 从 ajax 调用访问 PHP 函数

标签 javascript php jquery ajax

我正在尝试从 ajax 调用访问 PHP 函数,但我遇到了各种各样的问题,因为这是我第一次做这样的事情。我需要帮助创建该功能或修复我所拥有的功能。

这是我的ajax调用(我只会发布其中的一小部分,因为完整的功能与问题无关)

 $.ajax({
    type        : 'post', 
    url         : 'data.php?action=checkname',
    data        : {'location':locationName},
    error       : function(data,status,error){
                console.log(data+': '+status+': '+error);
            },
    success     : function(res){
                console.log(res);
            }                   
    });

PHP函数

<?php
    function checkname(){   <--- What do I pass in the function???

        $locations = $_POST['location'];

        echo $locations;

    }
?>

如果我通过调用文件并执行类似的“简单方法”来执行此操作

$locations = $_POST['location'];

echo $locations;

我得到了我需要的返回值,但只用一个小文件来存储我需要创建的所有 ajax 调用是错误的。

最佳答案

你可以设置 php 来做这样的事情。使用 Switch 并在 ajax 中为每个 action 指定一个名称,即您要激活的 Case 的名称。这样您就可以使用相同的文件并根据需要调用不同的函数。

<?php
            $action = $_POST["action"];
            //check if it was sent using $_GET instead of $_POST 
            if(!$action)
            $action = $_GET["action"];

            switch($action){
                case 'checkname':
                 checkname();
                break;

                case 'otherfunction':
                 otherfunction();
                break;

             }//switch


     function checkname(){   

                $locations = $_POST['location'];

                echo $locations;

     }

     function otherfunction(){  

                //do something else

                //echo something;

     }
?>

我没有放置ajax,因为你已经进行了ajax调用。 ajax 的这一部分是您将用于操作的名称。 data.php?action=checkname 或者你可以像这样使用数据。

var action = 'checkname';

$.ajax({
    type        : 'post', 
    url         : 'data.php',
    data        : {'location':locationName,'action':action},
    error       : function(data,status,error){
                console.log(data+': '+status+': '+error);
            },
    success     : function(res){
                console.log(res);
            }                   
    });

您可以使用其他ajax函数,只需将变量action更改为您要调用的函数即可。

关于javascript - 从 ajax 调用访问 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354703/

相关文章:

javascript - .val().trigger ('change' ) 实际上在做什么?

javascript - php 或 javascript 文本文件分号数据库使用一条记录在悬停时显示另一条记录

javascript - 进度条宽度不动态变化

javascript - 从外部窗口中的弹出窗口打开链接,然后关闭原始弹出窗口

php - 向数据库提交 NULL - 单引号问题?

javascript - HTML 正文不会向右滑动

javascript - 将焦点放在 ng-click 调用的函数中的 'this' 元素上

php - $_POST 到 PHP 页面

php - 使用 Y/m/d 按月组织帖子列表

javascript - 通过文本选择一个选项