1

我正在使用来自另一个选择框的数据实现一个函数 populatig 一个选择框。

//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 包含参数和值。

你有什么建议可能是错的吗?

4

1 回答 1

0

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

于 2012-06-29T16:14:55.930 回答