实例化一个PHP类,调用一个方法,并使用javascript将返回数组转换为HTML页面
我试图学习如何在与php类相同的服务器上的HTML页面中使用javascript(带或不带jquery),初始化php类,然后调用其getLinks()方法并将其返回的链接数组传递给java脚本数组 我希望这可以在索引页面上没有任何php代码的情况下完成 我看到了一些例子,包括这个伟大的例子,但它似乎没有解决某些细节,如 1) 我怎么能在没有php的页面上写一个include呢? 2) 如何实例化一个php类并调用一个特定的方法? 2) 我可以创建一个PHP帮助文件来进行实例化,但是我仍然需要调用一个方法,这将如何实现? 3) 如何使用jQuery发出GET请求并从请求中调用函数 如果不向索引页添加php代码就无法完成此操作,请让我知道这一点 我的PHP代码:实例化一个PHP类,调用一个方法,并使用javascript将返回数组转换为HTML页面,javascript,php,jquery,html,arrays,Javascript,Php,Jquery,Html,Arrays,我试图学习如何在与php类相同的服务器上的HTML页面中使用javascript(带或不带jquery),初始化php类,然后调用其getLinks()方法并将其返回的链接数组传递给java脚本数组 我希望这可以在索引页面上没有任何php代码的情况下完成 我看到了一些例子,包括这个伟大的例子,但它似乎没有解决某些细节,如 1) 我怎么能在没有php的页面上写一个include呢? 2) 如何实例化一个php类并调用一个特定的方法? 2) 我可以创建一个PHP帮助文件来进行实例化,但是我仍然需要调
<?php
//class.links.php
include "db_config.php";
class Links{
public $db;
public function __construct(){
$this->db = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if(mysqli_connect_errno()){
echo "Error: Could not connect to the database.";
exit;
}
}
public function getLinks(){
$sql = "SELECT link_name FROM links";
$rows = mysqli_query($this->db, $sql) or die(mysqli_connect_errno()."Data can not be inserted.");
$links = array();
if($rows->num_rows < 1){
return false;
}else{
while ($row=mysqli_fetch_row($rows)){
$links[] = $row[0];
}
return $links;
}
}
}
?>
HTML代码:
<html>
<head>
<title>Home Page</title>
<link type="text/css" rel="stylesheet" href="engineering.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script src="scriptfile.js">
</script>
</head>
<body>
<div name ="test_spot" id ="test_spot" width="200" height="400"></div>
<script type = "text/javascript">
function getOutput(){
}
</script>
<button onClick="getOutput()" style="height: 60px; width:100px;" >Test</button>
</body>
</html>
主页
函数getOutput(){
}
试验
请显示属于getOutput()方法的脚本,以将数组放置在test_spot div中
谢谢首先在服务器上创建一个php文件(可公开访问)。它应该输出您希望在前端使用的任何数组/什么。比如:
// link-getter.php
include class.links.php
$links = new Links();
echo json_encode($links->getLinks());
然后使用Wighty显示您的结果:
function getOutput(){
$.get( "/path/to/link-getter.php", function( data ) {
// optional: process data object
$( "#test_spot" ).html( data );
});
}
这可能需要在前端进行一些调整。您可以根据自己的意愿操作数据对象。
通过Javascript加载内容的技术称为
请注意,这只是原型等级代码。没有错误处理,没有安全性,什么都没有。对不起,我尝试了各种javascript-ajax和javascript jquery示例,但它们对我的情况都不起作用。我想最好是让脚本标签空着,让别人帮我。谢谢你的帮助。它起作用了。我道歉。服务器脚本不是我的强项。