groupId に基づいたデータベースを使用してグリッドを作成したいと考えています。現時点では、すべて同じクエリを呼び出しています。私の問題は、グループを選択して自分のファイルjQuery
に投稿するときに使用することです。セットアップGateway.php
を作成しました。psuedo-MVC
Controller、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);
?>