CakePHP 3 和 jQuery Ajax

杰森

我在向我的控制器发出 ajax 请求时遇到问题。这是我的代码:

 $.ajax({
                type:"POST",
                async: true,
                cache: false,
                url:"<?php echo \Cake\Routing\Router::url(array('controller'=>'Organizations','action'=>'add', 'ext' => 'json'));?>",
                beforeSend: function(xhr) {
                    xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
                },
                success: function(tab){
                    $( "#users acronymTable" ).append( "<tr>" +
                        "<td>" + acronym.val() + "</td>" +         
                        "<td>" + definition.val() + "</td>" +
                      "</tr>" );
                },
                error: function (tab) {
                    alert('error' + tab.statusText);
                }
            });

我的控制器.php:

class OrganizationsController extends AppController
{

    public function initialize(){
         parent::initialize();
        $this->loadComponent('RequestHandler');
    }
 public function add()
    {
        $this->layout = null;

        if ($this->request->is('post')) {

        // result can be anything coming from $this->data
        $result =  'Hello Dolly!';
        $this->set("result", $result);        

        }
    }
}

问题是这不返回字符串而是返回错误页面。如果我查看错误页面,错误是:

缺少模板:错误:未找到 OrganizationsController::add() 的视图。

虽然确实没有 add.ctp 文件,但它不应该试图找到要返回的视图,因为我只希望它返回单个字符串。我错过了某个地方的设置吗?

谢谢

德里克

您需要有一个视图,应该将 $result 发送到。如果你不想要一个视图关闭自动渲染$this->autoRender = false;,否则创建一个 add.ctp 或声明一个不同的视图$this->render('other_view');

正如 ndm 所指出的

始终呈现模板、使用序列化数据视图或准备并返回响应对象

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Git和CakePHP 3

来自分类Dev

用户未登录时如何使用AJAX和CakePHP 3检查CSRF令牌?

来自分类Dev

在 CakePHP 3 中使用动态 AJAX 加载对关联查询进行分页和搜索

来自分类Dev

jQuery timepicker和Ajax

来自分类Dev

使用jquery .on()和$ .ajax

来自分类Dev

cakephp + Jquery:显示和隐藏表单

来自分类Dev

jQuery步骤Formwizard和CakePhp不提交

来自分类Dev

如何使用JQuery和CakePHP提交表单?

来自分类Dev

cakephp2和Cakephp3的区别

来自分类Dev

CakePHP 3中的模式管理和迁移

来自分类Dev

cakephp 3中的授权和ACL

来自分类Dev

CakePHP 3.x的缓存和分页

来自分类Dev

CakePHP项目中的Jquery Ajax请求禁止返回(403)

来自分类Dev

CakePHP项目中的Jquery Ajax请求禁止返回(403)

来自分类Dev

使用jquery ajax发布到CakePHP控制器

来自分类Dev

jQuery和Ajax表单验证

来自分类Dev

jQuery和Servlet与Ajax的通信

来自分类Dev

jQuery Ajax GET和contentType?

来自分类Dev

jQuery和AJAX $ .post()函数

来自分类Dev

jQuery和AJAX的多个POST

来自分类Dev

关于jQuery Ajax和PHP

来自分类Dev

Ajax和jQuery处理程序

来自分类Dev

jQuery,ajax和js OOP

来自分类Dev

jQuery文件上传和Ajax

来自分类Dev

ajax jquery和click事件

来自分类Dev

js、jquery 和 Ajax 的区别

来自分类Dev

jQuery $.when() 和 ajax 调用

来自分类Dev

Ajax分页在cakephp 3中向后移动

来自分类Dev

CakePHP 3:与“onclick 确认”相关的 ajax 请求中的“中断”