1

groupId に基づいたデータベースを使用してグリッドを作成したいと考えています。現時点では、すべて同じクエリを呼び出しています。私の問題は、グループを選択して自分のファイルjQueryに投稿するときに使用することです。セットアップGateway.phpを作成しました。psuedo-MVCController、Models、Views の 3 つのディレクトリに分けました。このphpファイルから、次のエラーメッセージが表示され続けます:

警告:require(Membership/Controllers/Members.php):ストリームを開けませんでした:11行目のH:\xampp\htdocs\HelloWorld\Membership\Includes\Gateway.phpにそのようなファイルまたはディレクトリはありません

致命的なエラー:require():必要な 'Membership/Controllers/Members.php' (include_path='.;H:\xampp\php\PEAR') を H:\xampp\htdocs\HelloWorld\Membership\Includes\Gateway で開けませんでした11 行目の .php

だから、私はいくつかのことを試しました。1 つ目は、呼び出しを index.php に移動したところ、うまく機能しました。しかし、jQuery呼び出しから、それは私にエラーを与えます。

関数を含む別のphpファイルを作成しました。モデルとビューからコードを移動しました。結果を含むテーブルのhtmlを返すようにしました。できます。

jQuery誰かがクラス関数への ajax 呼び出しを行う例を教えてもらえますか? または、何らかの方向性を示します。


メンバー.js

var Members = {
Display: function(groupId) {
    var pData = {
        action: 'GetMembers',
        groupId: groupId 
    };
    $("#crGroups").empty();
    $("#crGroups").append("Getting Members..." );  
    $.ajax({
        url: "Membership/Includes/Gateway.php",  
        type: "POST",        
        data: pData,     
        cache: false,
        success: function (data, status, xhr) {
            try {
                var members = $.parseJSON(data);
                if (members !== undefined) {
                    $("#crGroups").empty();
                    $("#crGroups").append(members.html);       
                } else {
                    $("#crGroups").empty();
                    $("#crGroups").append(data);                   
                } 
            } catch (err){
               $("#crGroups").empty();
               $("#crGroups").append(data + "<br><br>Error description: " + err.message);                   
            }
        }       
    }); 
}

}

Gateway.php

<?php

$action = $_POST['action'];
$groupId = $_POST['groupId'];

$data = array();

// Gateway for processing
switch($action)  {
    case 'GetMembers' :   
        require  'Membership/Controllers/Members.php';
        $member = new MembersController();
        //include 'Members.php';
        $data["status"] = "success";
        $data["html"] = $member->GetMembers();
        //$data["html"] = getMembers();
        break;
    case 'AddMember' : 
        $page = 'Add Member'; 
        break;
    case 'page3' : 
        $data["status"] = "success"; 
        break;
    case 'page4' : 
        $data["status"] = "success"; 
        break;
    default :
        $data["status"] = "failure";
}

echo json_encode($data);
?>
4

2 に答える 2

0

お二方、アドバイスありがとうございます。出来た。これを他のファイルに入れましたが、問題は解決しました。ファイル全体で使用できる場所を定義し、一度変更するつもりだと思います。再度、感謝します。

于 2013-03-17T15:49:46.613 に答える
0

ただ変える

require  'Membership/Controllers/Members.php';

require  $_SERVER['DOCUMENT_ROOT'].'HelloWorld/Membership/Controllers/Members.php';
于 2013-03-16T07:40:18.300 に答える