首页 > 解决方案 > 为什么 ajax 请求 POST 数据不能通过(在 cakePHP 中)?

问题描述

这是一个我已经摆弄了一个多小时的问题,我确信我错过了一件简单的事情。

CakePHP 2.x中,我正在尝试向AdministrationController::testAjax().

function testAjax() {
    $.ajax({
        type:"POST",
        data:{value_to_send:1285}, 
        url:"<?php echo Router::url( array("controller" => "Administration", "action" => "testAjax")); ?>",
        success : function(data) {
           alert(data);

        },
        error : function() {
           alert("false");
        }
    });
}

控制器应该能够接收到:

public function testAjax() {
    var_dump( $this->request->data('value_to_send') );
    die();
}

这将返回 null,就像这样:

public function testAjax() {
    var_dump( $_POST );
    die();
}

我似乎无法控制发布的值(它确实显示在 Chrome DevTools 的网络选项卡中),即使使用CakePHPdocs 和StackOverflow. 我错过了什么?

编辑:我也确实包括RequestHandler作为一个组件:

var $components = array("ActionListFactory", "Utilities", "TgiMailer", "RequestHandler");

标签: ajaxpostcakephp-2.0

解决方案


推荐阅读