我做了很多UI編碼,包括向我的後端PHP發送AJAX請求。以優雅的方式處理PHP中的AJAX請求
我已經與
if(isset($_REQUEST["UniquePostName"])){
/* Do Something*/
}
if(isset($_REQUEST["AnotherUniquePostName"])){
/* Do Something*/
}
處理它。然而,這似乎是一個非常貧窮的方式來處理這個問題。有誰知道更優雅的方式來處理PHP後端的許多請求嗎?
我做了很多UI編碼,包括向我的後端PHP發送AJAX請求。以優雅的方式處理PHP中的AJAX請求
我已經與
if(isset($_REQUEST["UniquePostName"])){
/* Do Something*/
}
if(isset($_REQUEST["AnotherUniquePostName"])){
/* Do Something*/
}
處理它。然而,這似乎是一個非常貧窮的方式來處理這個問題。有誰知道更優雅的方式來處理PHP後端的許多請求嗎?
您可以使用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;
}
}
您可以和改變形式的傳遞方式,並使用鍵調用自定義的功能。 (出於安全考慮,您必須使用白名單)
是的,我確實考慮過這種方式,你猜這可能是處理它的最好方法。 – Jeff
不確定爲什麼你在這裏有foreach循環。如果ajax請求有多個參數,它會執行開關'n'次數 – SajithNair
是的,下面的答案更好是因爲這個原因,我把它提升了。這個只關注PHP方面(也許你會在數組中有多個關鍵字)。 –
您可以在所有文章中使用action
變量,並且您可以在php中使用switch
case
。
Ajax請求
yourpage.php?action=UniquePostName¶m1=val1¶m2=val2
yourpage.php?action=AnotherUniquePostName¶m1=val1¶m2=val2
,並在PHP
<?php
switch($_REQUEST['action']) {
case 'UniquePostName':
//do stuff
break;
case 'AnotherUniquePostName':
//do stuff
break;
default;
//do stuff
break;
}
?>
有什麼不對這種方式? – putvande