在PHP中优雅地处理AJAX请求

时间:2014-02-28 16:45:43

标签: javascript php ajax

我做了很多UI编码,包括将AJAX REQUESTS发送到我的后端PHP。

我用

处理了它
if(isset($_REQUEST["UniquePostName"])){
/* Do Something*/
}
if(isset($_REQUEST["AnotherUniquePostName"])){
/* Do Something*/
}

但是,这似乎是处理这种情况的一种非常糟糕的方式。有没有人知道更优雅的方式来处理PHP后端的许多请求?

2 个答案:

答案 0 :(得分:1)

您可以拥有包含所有帖子的action变量,并且可以在php中使用switch case

Ajax请求

yourpage.php?action=UniquePostName&param1=val1&param2=val2
yourpage.php?action=AnotherUniquePostName&param1=val1&param2=val2

并在php中

<?php
switch($_REQUEST['action']) {
case 'UniquePostName':
    //do stuff
    break;
case 'AnotherUniquePostName':
    //do stuff
    break;
default;
    //do stuff
    break;
}
?>

答案 1 :(得分:0)

您可以使用switch ... case语句。 它看起来更干净。

http://php.net/manual/fr/control-structures.switch.php

foreach ($_REQUEST as $key => $value){

    switch ($key){
        case "UniquePostName":
             //Do something
        break;
        case "AnotherUniquePostName":
             //Do something
        break;
        default:
             continue;
    }
}

您也可以更改表单的传递方式,并使用键调用自定义函数。 (出于安全考虑,您必须使用白名单)