0

我正在一个 wordpress 网站上工作,并尝试使用 ajax 从范围滑块中接收数据。在我的警报(数据)中,我收到以下错误:

致命错误 Class not found in /home/../...etc/..etc/test.php 第 3 行

测试.php:

<?php

class acf_field_number_range extends acf_field
{
    (...)


Javascript:

<script type="text/javascript">
    $("#slider").bind("valuesChanged", function (e, data) {
        $.ajax({
           type: "POST",
           dataType: "text",
           url: "../wp-content/themes/twentytwelve/fields/number_range-v4.php",
           data: { minValue: data.values.min, maxValue: data.values.max },
           async: false,
           success: function(data){
              alert(data)
           },
           error: function(xhr) {
                     alert('fail') // if your PHP script return an erroneous header, you'll land here
           }
        });
    });

</script>

当我使用 GET 时,我可以看到它得到了正确的值,所以这是有效的。但是为什么我会在警告框中收到 Class 错误?谢谢!

编辑

Ajax URL 是指 test.php

编辑

请查看更好的解释: https ://stackoverflow.com/questions/17488180/ajax-alert-error-fatal-error-class-not-found-while-page-works-fine

4

2 回答 2

0

您必须include具有Class acf_field

通过使用include or require or include_once or require_once

之前using还是extend它。

于 2013-07-05T10:41:34.373 回答
0

您的 AJAX 调用正在调用返回 PHP 错误的 PHP 页面。您应该打开 test.php 并检查第 3 行。您很可能调用了一个不存在(未声明)的类,或者该类在文件中声明,但未包含在内。

大多数类调用如下所示:

$c = new MyClass(); // Create a class object

或者

MyClass::myMethod(); // Static call to a class method

MyClass如果没有在任何地方定义,它们都会抛出上述 PHP 错误。

于 2013-07-05T10:38:44.423 回答