【问题标题】:Cakephp 3.4 JQuery , ajax and $_POSTCakephp 3.4 JQuery、ajax 和 $_POST
【发布时间】:2018-06-18 14:07:57
【问题描述】:

我对 Cakephp 3.4 有一个大问题

这是我的控制器:

    //$id=$_POST["idString"]; ---- how can i do this in cakephp?
    $id = $this->request->data('idString');

    $posts = $this->Posts->find('all', array(
        'conditions' => array(
            'Animal_id' => $id
        )
    ));
    $this->set(compact('posts'));

这是我的脚本

$(document).ready(function() {

    $(".dropdown-item").click(function(){
         idString = $(this).attr("value");
        alert(idString);
        $.ajax({
            type: "POST",
            url: "<?php echo  \Cake\Routing\Router::url(array('controller' => 'MyControllerName', 'action' => 'index')); ?>",
            data: "idString="+idString,
            success: function(result){
                $("#show").html(result);
            }
        });

    });
});

这是我的索引:

<?php foreach($posts as $post):?>
    <li><?= $post->title, $post->text; ?></li>
<?php endforeach ?>

<div id="show">
<--show id-->

</div>

我遇到的错误是

已弃用 (16384):Controller::$layout 已弃用。改用 $this->viewBuilder()->setLayout() 。 [CORE\src\Controller\Controller.php,第 383 行]

它返回一个 div 2 次。

【问题讨论】:

  • 您已经为视图控制器设置了旧方法来设置布局,但在 3.x 中,新方法是使用 $this->viewBuilder()->setLayout(layout_file_path),您只需要更新布局设置
  • 我应该在哪里更新这个布局?我的意思是问题是我有一个 div "a" 并且在这个 div 里面是一些东西,然后我有这个 div "b" 和 id show 在那里他向我展示了我需要的东西但问题是它返回2次 。它返回 div "a" 和 div "b" 与我所需要的。它返回相同的页面 2 次,一次没有我需要的内容,一次返回该错误和我需要的内容。也许问题出在 ajax 中?对不起我的英语。我希望你明白我的意思。
  • 每当收到错误时,请始终发布complete错误,即包括full堆栈跟踪 (最好从日志中以正确可读的方式复制),即使问题对于熟悉 CakePHP 的人来说可能很明显!这也将回答您的“where”问题,因为堆栈跟踪应显示不推荐使用的调用的位置。
  • @ndm 抱歉,我在日志中没有任何错误,这只是我说的这个错误。它看起来像这样link,如果我按 Lucky,它会返回这个link
  • @SanjayKumarSingh 看看链接你就会明白我的意思了。

标签: php jquery ajax cakephp cakephp-3.0


【解决方案1】:

Cakephp 3.4 在 src/Template/Layout/ajax.ctp 中有如果没有 $this->fetch('content'); 如果是的话然后删除它或发表评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2010-12-11
    相关资源
    最近更新 更多