>백엔드 개발 >PHP 튜토리얼 >프론트엔드 Ajax 호출 구현을 위한 PHP 모듈화 ajax php post jquery ajax php ajax 포인트

프론트엔드 Ajax 호출 구현을 위한 PHP 모듈화 ajax php post jquery ajax php ajax 포인트

WBOY
WBOY원래의
2016-07-29 08:50:291274검색

배경: PHP 프레임워크가 사용되지 않습니다
일시적인 필요로 인해 php에서 메소드를 호출하려면 ajax가 필요합니다. 저는 단순히 php 파일을 작성했습니다. 이 파일은 ajax를 사용하여 동일한 php 파일의 다른 메소드를 호출하는 방법을 정의합니다.
다음은 abc.php 파일입니다. 제가 정의한 a 메소드와 b 메소드

<code><span><span><?php</span><span><span>class</span><span>abc</span>
    {</span><span><span>function</span><span>a</span><span>()</span>{</span><span>echo</span> something;
        }
        <span><span>function</span><span>b</span><span>(<span>$args</span>)</span>{</span><span>echo</span> something;
            }
        }
    }
<span>?></span></span></code>

다음은 Controller.php 입니다. 이 파일은 다른 특정 기능 클래스를 호출하여 중추적인 역할을 하는 컨트롤러입니다. role.reflection을 통해 주로 달성

<code><span><span><?php</span><span>if</span> (!<span>empty</span>(<span>$_REQUEST</span>[<span>'action'</span>])) {  
        <span>try</span> {    
            <span>$action</span> = explode(<span>'/'</span>, <span>$_REQUEST</span>[<span>'action'</span>]);    
            <span>$class_name</span> = <span>$action</span>[<span>0</span>];    
            <span>$method_name</span> = <span>$action</span>[<span>1</span>];    
            <span>require</span><span>$class_name</span> . <span>'.php'</span>;    
            <span>$class</span> = <span>new</span> ReflectionClass(<span>$class_name</span>);    
            <span>if</span> (class_exists(<span>$class_name</span>)) {      
                <span>if</span> (<span>$class</span>->hasMethod(<span>$method_name</span>)) {        
                    <span>$func</span> = <span>$class</span>->getmethod(<span>$method_name</span>);        
                    <span>$instance</span> = <span>$class</span>->newInstance();        
                    <span>$func</span>->invokeArgs(<span>$instance</span>, <span>array</span>(<span>$_REQUEST</span>));                              
                }    
            }  
        } 
        <span>catch</span> (<span>Exception</span><span>$exc</span>) {    
            <span>echo</span><span>$exc</span>->getTraceAsString();  
        }
    }
<span>?></span></span></span></code>

ajax 호출을 사용할 때 abc.php의 a 메소드만 호출하려면 다음 작성 방법을 사용하세요.

<code>$.ajax({
         type:<span>"POST"</span>,
         url: <span>'Controller.php?action=abc/a'</span>,    
         dataType: <span>'json'</span>,
         success: <span><span>function</span><span>(data)</span> {</span>         }
      });</code>

필요한 경우 매개변수를 전달하려면 다음과 같이 작성하여 호출할 수 있습니다.

<code>$.ajax({
         <span><span>type</span>:"<span>POST</span>",</span>
         url: '<span>Controller</span>.php',   
         <span><span>data</span>:<span>{
            <span>action</span>=<span>abc</span>/<span>b</span>,
            参数1: 123,
            参数2: 456}</span></span>
         dataType: 'json',
         success: function(<span><span>data</span>) <span>{

         }</span></span>
      });</code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 ajax와 PHP의 내용을 포함하여 프론트엔드 ajax 호출을 위한 PHP 모듈화 구현을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.