为ajax POST的

时间:2019-05-12 15:58:52

标签: php jquery ajax

我在社交网站上从事网站后端工作,这需要一些沉重的ajax帖子。我希望代码是正确的OOP,并在以后易于维护/更新。我当前的想法是让我的ajax帖子调用一个专用的php脚本,该脚本然后查找发出的请求类型,并在单独的类中调用适当的函数。但是,我发现的唯一好的解决方案是使用开关盒,短时间后看起来确实很混乱。

这是总体思路:

Ajax调用

      $('#signup').click(function(){
        $.ajax({
          type: "POST",
          url: "liber/signup",
          processData:false,
          contentType: "application/json",
          data: '{"email": "' + $("#email").val() + '", "password": "' + $("#password").val() + '"}',
          success:function(r){
          },error:function(r){
          }
        });
      });

php称为:

  if($_SERVER['REQUEST_METHOD'] == "POST")
  {
      $url = $_GET['url'];
      switch($url)
      {
        case "signup":
          Commands::SignUp();
        break;
        default:
        break;
      }
  }

“命令”类中的功能示例:

    public static function Signup()
    {
      $postbody = file_get_contents("php://input");
      if(UserCredentials::InsertNewUser($postbody))
      {
        $token = "account created";
        echo '{"token": "'.$token.'"}';
        http_response_code(200);
      }else{
        $token = "No account created";
        echo '{"token": "'.$token.'"}';
        http_response_code(200);
      }
    }

“ Commands”类负责实际的http_response_code,并将结果回送给ajax,调用正确的类/函数,以根据php中原始开关的情况调用什么函数。

但是,正如我提到的那样:这很快变得非常混乱。尤其是在装有数百个不同案例的交换案例中。 php专家的任何好的技巧可能会使它更优化,并且从长远来看更易于维护?由于大多数功能都是基于类的,并且易于重用,因此我无需重写php的主要部分。

0 个答案:

没有答案