2012-06-29 29 views
1

我正在實現一個功能,使用另一個選擇框中的數據來選擇一個選擇框。

//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包含參數和值。

你有什麼建議可能是錯誤的?

+0

你在你的ajax調用中使用什麼url ... url? –

+0

在firebug中,該響應是否包含預期的html? – somedev

+0

@barts getSectors,是螢火蟲輸出預期html –

回答

0

爲了讓Cake填充$this->data變量,發送的數據需要遵循格式data[Model][field]或至少是data[..]陣列的一部分。如果明確命名爲arr,Cake不會將其放入$this->data變量中。

+0

可能值得一提的是'$ this-> params' – Dunhamzzz

+0

如果我想將它命名爲'arr',我該如何訪問數據? –

+0

@Peter'$ _POST' – deceze