gpt4 book ai didi

php - 如何从 jquery php 调用类函数?

转载 作者:行者123 更新时间:2023-12-01 08:04:52 29 4
gpt4 key购买 nike

我正在使用插件ParamQuery网格并且数据源需要获取json数据,这就是我想用 $ 做的事情。 getJson(...){},但是我有一个名为 data.php 的 PHP 类,其中包含一个名为 GetData 的方法,其他 InsertData、DeleteData(CRUD-使用 PDO),GetData 以 json 形式返回信息。问题是如何从jquery调用该函数

我使用的代码是:

数据.php

   <?php
class Data {
private $db = NULL;
const DB_SERVER = "localhost";
const DB_USER = "root";
const DB_PASSWORD = "usbw";
const DB_NAME = "musicstore";

public function __construct() {
$dsn = 'mysql:dbname=' . self::DB_NAME . ';host=' . self::DB_SERVER;
try {
$this->db = new PDO($dsn, self::DB_USER, self::DB_PASSWORD);
} catch (PDOException $e) {
throw new Exception('Connection failed: ' . $e->getMessage());
}
return $this->db;
}

public function getData() {

$statement = $this->db->prepare("Select * from Customer");
$statement->execute();

if ($statement->rowCount() > 0) {
echo json_encode($statement);
}

return false;
}
}
?>

functionjquery.js

    $.getJSON('Data.php', function(data) {
var obj = {};
obj.width = 1000;
obj.height = 400;
obj.colModel = [{title: "Rank", width: 150, dataType: "integer"},
{title: "Company", width: 200, dataType: "string"},
{title: "Revenues ($ millions)", width: 200, dataType: "float", align: "right"},
{title: "Profits ($ millions)", width: 200, dataType: "float", align: "right"}];
obj.dataModel = {data: data};
$("#grid_array").pqGrid(obj);

});

最佳答案

您需要创建一个页面,该页面构造 Data 类的实例,然后输出 getData() 的结果

不过,您不应该在函数内部echo。将您的 getData 方法更改为如下所示:

public function getData() {
$statement = $this->db->prepare("Select * from Customer");
$statement->execute();
return $statement->rowcount() > 0 ? $statement->fetchAll() : NULL;
}

然后,为了透明起见,创建一个新页面,我们将其命名为 json_data.php:

require_once "data.php";
$dataObj = new Data();
echo json_encode($dataObj->getData());

现在更改 jQuery 中的 $.getJSON 调用以请求 json_data.php 页面。

$.getJSON('json_data.php', function(data) { ... });

这应该可行。

关于php - 如何从 jquery php 调用类函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356469/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com