ホームページ  >  記事  >  バックエンド開発  >  フロントエンドの PHP モジュール化 ajax 呼び出し実装 ajax php post jquery ajax php ajax ポイント

フロントエンドの PHP モジュール化 ajax 呼び出し実装 ajax php post jquery ajax php ajax ポイント

WBOY
WBOYオリジナル
2016-07-29 08:50:291251ブラウズ

背景: PHP フレームワークは使用されていません
一時的な必要があるため、php でメソッドを呼び出すために ajax が必要です。このファイルには、ajax を使用して同じ php ファイルの異なるメソッドを呼び出す方法が定義されています。
以下は、私が定義した 2 つのメソッド、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>

このファイルは、他の特定の関数クラスを呼び出し、主にリフレクションを通じて重要な役割を果たすコントローラーです。 . ajax を使用して

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

を実装する場合、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( '事前番号付け' ).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 までご連絡ください。