Jquery,PHP:在jquery上使用ob_get_clean获取无结果


Jquery & PHP : obtaining no result on jquery using ob_get_clean

我在项目中有一些模板文件,例如'/view/dynamic.html'包含这些简单的数据:

 <div class="dynamic"></div>

在客户端:我有一个可点击的元素在我的网页上使用Jquery发布异步请求到服务器端。

$('a.clickable').on('click', function()
{
    var $this = $(this);
    var $type = $this.data('type');
    var $project_id = 1;
    $.ajax({
        type: 'POST',
        url: "php/zeek.php",
        data: { 
            'method': 'clicked',
            'type': $type,
            'project_id': $project_id 
        },
        dataType: 'text',
        success: function($input)
        {
            console.log('result:' + $input);
        },
        error: function($request, $status, $error)
        {
            $('div.dynamic').replaceWith(
                '<div class="dynamic"><h2>'
                + $error + '</h2></div>');
            console.log($status + ' : ' + $error);
        }
    });
});

服务器端:我有一个函数显示动态视图文件的内容。

public function dynamic_display() {
    ob_start();
    include 'view/dynamic.html';
    return ob_get_clean();
}

最后我有接收请求的函数:

    case 'clicked':
        $type = strtolower($params['type']);
        if ($type == 'disconnect') {
            echo("? " . $this->dynamic_display() . " ?");
            return true;
        }

问题:

当我用单元测试测试我的函数'dynamic_display'时,这个函数发送回正确的预期字符串。使用var_dump,我得到:

string(28) "<div class="dynamic"></div>
"

当我单击页面上的元素时:我在控制台上没有获得相同的结果

 "result:?  ?" 

为什么不工作?发生了什么?如何让它发挥作用?

谢谢,的问候!狮子座

当我使用

include '/home/leo/zeek/view/dynamic.html';

代替

include 'view/dynamic.html';

我真的很惊讶?有人能解释一下吗?