$ this->执行ajax调用后数据为空

时间:2012-06-29 16:09:55

标签: php ajax cakephp

我正在使用另一个选择框中的数据实现一个选择框的功能。

//views/users/ajax.ctp
$.ajax({
        url: url,
        type: "GET",
        dataType: "html",
        data:"arr=" + result,
        success: function(data){
            document.getElementById(child).innerHTML = data;
        }
    });

从上面的代码中可以看出,调用传递的数据应该可以在data变量下的getSectors()函数中访问:

//controllers/users_controller.php
function getSectors() {
    $this->set('data', $this->data);
    $this->render('/users/ajax_data');
}

在相应的视图中,我尝试查看传递的数据内容:

//views/users/ajax_data.ctp
<?php var_dump($data); ?>

$ data为空。

在Firebug中调试它表明正确调用了调用(status 200 ok),并且XMLHttpRequest包含参数和值。

你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

为了让Cake填充$this->data变量,发送的数据需要遵循格式data[Model][field],或者至少是data[..]数组的一部分。如果它明确地命名为arr,那么Cake不会将其放在$this->data变量中。