我有一个PHP页面,其中包含以下内容:
<?php
class CallsClass {
var $conn1;
var $dataTable = "";
function calls() {
$this->conn1 = new Datasource("taylor", "dbproj", "root", "elves") or die("Could not connect");
$s1 = "SELECT id, UPPER(SUBSTRING_INDEX(fullname,' ',1)) as fullname, oldcode FROM `researcher` WHERE `display` = '1' AND fullname <> 'Jenny Porteous' AND fullname <> 'Carey-Lee Lendrum' AND fullname <> 'Carys Gibson'";
$result = $this->conn1->_execute($s1);
while ($row = $this->conn1->_nextAssocRow($result)) {
$fullName = $row['fullname'];
$dataTable .= $fullName;
}
echo json_encode($dataTable);
}
}
?>
I know want to call this with my Ajax function:
$(document).ready(function() {
$(function ()
{
$.ajax({
url: 'Queries/CallsQuery.php/calls',
dataType: 'json',
success: function(result)
{
//console.log(result);
}
});
});
我在Google Chrome开发者工具中收到“选项文件:/// C:/Users/wesley/Desktop/Highcharts%20example/Queries/CallsQuery.php/calls()资源无法加载”错误为什么?
谢谢, 韦斯利
答案 0 :(得分:2)
简短版本:因为您没有使用网络服务器。
浏览器不支持PHP。在WWW的上下文中,它是服务器端编程语言。
您需要一个Web服务器:
此外,我不知道PHP有能力在URI的末尾处理/function_name
作为“在文件中唯一的类中运行此函数”。
它可能具有该功能,我不是PHP专家,但它似乎有点“做我可能意味着什么”,即使对于PHP。
通常的方法是让控制器处理程序检查URI然后执行适当的函数。
答案 1 :(得分:2)
编辑:甚至没有看到错误,但Quentin是对的:看起来像 php 没有做任何事情:获取xampp,阅读文档并设置本地机器上的快速服务器,我推荐使用xampp,因为设置起来很简单,但是从头开始这样做会提供更多信息,并且一如既往
您希望如何运作?除非已经实例化,否则类是惰性代码。您正在调用成员功能,该功能位于您发送请求的脚本中。这个脚本定义了一个类,并且就其所涉及的工作而言,并且回家可以获得清爽的啤酒。
您需要一个ajax脚本,它处理您的请求,创建一个实例,然后调用相应的成员函数
关闭主题,但仍然:关于你的jQuery代码:你为什么要嵌套ready
回调?
$(function ()
是
的缩写$(document).ready(function ()
所以这对我没有意义:
$(document).ready(function ()
{
$(function ()
{});
});