CUỐI CÙNG tìm thấy các giải pháp:CakePHP 2.1 thực hiện một cuộc gọi jquery ajax với thành phần an ninh được kích hoạt
Nếu ai có vấn đề này đặt điều này trong beforeFilter của bạn.
$this->Security->unlockedActions = array('givestar');
Và cập nhật libs để Bánh 2,3
Vấn đề:
Tôi đang đấu tranh với các thành phần AN blackholing tôi trên cuộc gọi ajax của tôi.
var id = 1;
$.ajax({
type: "post",
url: "/messages/givestar/",
data: {"id" : id},
dataType: "json"
});
Tôi chỉ cố gắng để gửi ID cho bộ điều khiển để cập nhật thông điệp nơi id = id
Nhưng thành phần Security Blackholing tôi trên tất cả các cuộc gọi ajax của tôi.
Bất kỳ ai biết cách tôi có thể làm cho nó hoạt động với thành phần bảo mật được kích hoạt ??
Cảm ơn!
Bạn thật tuyệt vời!
-Tom
Gợi ý ????
UPDATE2 Tôi gặp lỗi AUTH từ lỗ đen sau một số thử nghiệm.
From Book:
‘auth’ Indicates a form validation error, or a controller/action mismatch error.
Tôi đã kiểm tra kỹ tất cả các nút ACO, chúng rất tốt. Tôi đang dựa vào MẪU L VALI ĐỊNH HIỆU MẪU từ thành phần Bảo mật trong cuộc gọi ajax của tôi.
UPDATE:
AppController.php
public $components = array(
'Acl',
'Auth',
'Session',
'Security',
'Cookie'
);
public function beforeFilter() {
$this->Security->blackHoleCallback = 'blackhole';
}
public function blackhole($type) {
$this->Session->setFlash(__('ERROR: %s',$type), 'flash/error');
}
MessagesController.php
public $components = array('RequestHandler');
public function beforeFilter() {
parent::beforeFilter();
}
public function givestar() {
$this->autoRender = false;
if ($this->request->is('ajax')) {
echo 'Working';
}
return;
}
thành phần bảo mật được kích hoạt ?? có nghĩa là bạn muốn mã hóa 'id' hoặc ẩn nó trong cuộc gọi ajax? – coolguy
http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html – Tom
aahhh xấu của tôi. Im không phải là một chàng trai php bánh ..Im với Zend framework + Jquery.There rất nhiều chuyên gia CakePHp trong SO ..bạn sẽ tìm thấy những gì bạn cần ngay :) – coolguy