javascript - 使用 $.ajax post 将数据从 cakephp View 发送到 Controller

标签 javascript php jquery ajax cakephp

我第一次在 CakePhp2.4.5 中使用 $.ajax - 我在 stackoverflow 上阅读了很多帖子,并对 w3schools 和 jquery 网站进行了其他研究,但不明白我应该如何解决我的问题。 我想从我的第一个 View index.ctp将数据发送到 Controller

 $.ajax({
                type: 'POST',
                url: 'meers/client',
                datatype:'json',
                cache: false,
                data: {myVal:'Success!'},
                success: function(){alert('AjaX Success')},
                error: function(){alert('AjaX Failed')}
            })
                .done(function(){
                    alert('AjaX Done!');
                });

警报显示“AjaX 成功”。

在我的 Controller 中我有

公共(public)函数客户端(){ if($this->请求->isAjax()){ $this->set('ajaxTest','成功'); }}

在我的第二个 View client.ctp 中,我有。

if(isset($ajaxTest)){ echo $ajaxTest; }别的{ echo 'ajaxTest 未设置。'; }

问题。我总是在 Client.ctp View 中收到消息“ajaxTest not Set”。 我究竟做错了什么 ?或如何做?谢谢

最佳答案

我认为您的问题出在网址中,因为“meers/client”不是路线

  $.ajax({
        type: 'POST',
        url: "<?php echo $this->Html->url(array('controller' => 'YourController','action' => 'YourAction')); ?>",
        datatype:'json',
        cache: false,
        data: {myVal:'Success!'},
        success: function(){alert('AjaX Success')},
        error: function(){alert('AjaX Failed')}
    })
        .done(function(){
            alert('AjaX Done!');
        });

或者可以探测给出路由器:

  $.ajax({
        type: 'POST',
        url: "<?php echo Router::url(array('controller' => 'YourController', 'action' => 'YourAction'), true); ?>",
        datatype:'json',
        cache: false,
        data: {myVal:'Success!'},
        success: function(){alert('AjaX Success')},
        error: function(){alert('AjaX Failed')}
    })
        .done(function(){
            alert('AjaX Done!');
        });

您可以查看其他示例:

http://www.dereuromark.de/2014/01/09/ajax-and-cakephp/

Making jquery ajax call from view to controller in cakephp 2.x

关于javascript - 使用 $.ajax post 将数据从 cakephp View 发送到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26306067/

相关文章:

javascript - 您如何同时映射生成器结果?

javascript - 是否可以在悬停时在两个很棒的图标之间切换?

javascript - 如何从给定的数字范围获得按比例缩小的输出

php - 通过 PHP cURL 使用 login.microsoftonline.com 进行身份验证(SSL 连接错误)

php - 使用 PostgreSQL 计数查询优化 PHP 脚本

javascript - 在悬停的 li 元素上相对于 li 的位置显示一个隐藏的响应式 div

javascript - 最简单的 SOAP 示例

php - 文件获取内容或 fsockopen - 超时问题

javascript - 带有选择器的 jQuery next()

javascript - 更改 summernote div 时 Textarea 值更改