2014-02-28 85 views
0

我做了很多UI編碼,包括向我的後端PHP發送AJAX請求。以優雅的方式處理PHP中的AJAX請求

我已經與

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

處理它。然而,這似乎是一個非常貧窮的方式來處理這個問題。有誰知道更優雅的方式來處理PHP後端的許多請求嗎?

+0

有什麼不對這種方式? – putvande

回答

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; 
    } 
} 

您可以和改變形式的傳遞方式,並使用鍵調用自定義的功能。 (出於安全考慮,您必須使用白名單)

+0

是的,我確實考慮過這種方式,你猜這可能是處理它的最好方法。 – Jeff

+0

不確定爲什麼你在這裏有foreach循環。如果ajax請求有多個參數,它會執行開關'n'次數 – SajithNair

+0

是的,下面的答案更好是因爲這個原因,我把它提升了。這個只關注PHP方面(也許你會在數組中有多個關鍵字)。 –

1

您可以在所有文章中使用action變量,並且您可以在php中使用switchcase

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; 
} 
?>