我正在尝试通过 Ajax 在 PHP 类中发送一个 POST 值,以更改我的 SQL 查询。
PHP 页面
//Link page with Classes
require_once('mPortfolio.php');
$mPortfolio = new Portfolio();
$all = $mPortfolio->getAll();
//Echo sql results here
//AJAX to send filter value to PHP with Classes
$('#filters a').on('click', function(e){
var filter = $(this).data('filter');
$.ajax({
type: 'POST',
url: 'models/mPortfolio.php',
data: {filter: filter},
success: function(data){
alert(data);
}
});
PHP 类 mPortfolio.php
echo $_POST['filter']; //This works !
require_once $_SERVER["DOCUMENT_ROOT"].'/models/db/db.php';
class Portfolio{
private $_db;
public function Portfolio()
{
$this->_db = new db();
$this->_db->SQLRequest("SET NAMES utf8");
}
public function getAll()
{
if(isset($_POST['filter'])) :
$query = "SELECT * FROM portfolio WHERE category='".$_POST['filter']."' AND online = 1 ORDER BY category,pos ASC";
else :
$query = "SELECT * FROM portfolio WHERE online = 1 ORDER BY category,pos ASC";
endif;
return $this->_db->SQLRequest($query);
}
}
mPortfolio.php 页面实际上可以读取 Class 之外的 $_POST['filter'],但公共函数 getAll() 不能。
你能帮我吗?请让它工作。谢谢