1

我有一个 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 开发工具中收到“OPTIONS file:///C:/Users/wesley/Desktop/Highcharts%20example/Queries/CallsQuery.php/calls() 资源无法加载”错误,有什么原因吗?

谢谢,韦斯利

4

2 回答 2

2

简短版本:因为您没有使用 Web 服务器。


浏览器不支持 PHP。在 WWW 的上下文中,它是一种服务器端编程语言。

您需要一个网络服务器来:

  • 解释一个 URI,它传递文件名末尾之外的数据
  • 执行 PHP

此外,我不知道 PHP 有能力将/function_nameURI 末尾的内容视为“在文件中唯一的类中运行此函数”。

可能具有该功能,我不是 PHP 专家,但即使对于 PHP,它似乎也有点“做我可能的意思”。

通常的方法是使用一个控制器处理程序来检查 URI,然后执行适当的函数。

于 2012-08-21T09:43:27.060 回答
2

编辑:甚至没有读过错误,但昆汀是对的:看起来php没有做任何事情:获取 xampp,阅读文档并在本地计算机上设置快速服务器,我推荐 xampp,因为它已经死了- 设置简单,但从头开始会提供更多信息,一如既往

你希望这如何工作?一个类是惰性代码,除非它已被实例化。您正在调用一个成员函数,该函数位于您向其发送请求的脚本中。这个脚本定义了一个类,就它而言,它做了一个破解工作,然后回家喝一杯清爽的啤酒。

您需要一个 ajax 脚本来处理您的请求,创建一个实例,然后调用适当的成员函数


离题,但仍然:在您的 jQuery 代码上:为什么要嵌套ready回调?

$(function ()

简称

$(document).ready(function ()

所以这对我来说没有意义:

$(document).ready(function ()
{
    $(function ()
    {});
});
于 2012-08-21T09:45:18.767 回答