WRESZCIE znalazł rozwiązanie:CakePHP 2.1 Nawiązywanie połączenia jquery ajax z elementem bezpieczeństwa aktywowane
Jeśli ktoś ma ten problem umieścić to w swoim beforeFilter.
$this->Security->unlockedActions = array('givestar');
i aktualizować libs do ciasta 2.3
Problem:
walczę z elementem bezpieczeństwa blackholing mnie na rozmowy AJAX.
var id = 1;
$.ajax({
type: "post",
url: "/messages/givestar/",
data: {"id" : id},
dataType: "json"
});
Ja tylko próbuje wysłać identyfikator dla kontrolera zaktualizować wiadomość gdzie id = id
Ale komponent Security Blackholing mnie we wszystkich moich ajax połączeń.
Ktoś wie, w jaki sposób mogę sprawić, aby działała z włączonym komponentem bezpieczeństwa?
Dzięki!
Jesteś świetny!
-Tom
Sugestie ????
UPDATE2 Po wykonaniu niektórych testów pojawia się błąd AUTH z blackhole.
From Book:
‘auth’ Indicates a form validation error, or a controller/action mismatch error.
Mam podwójne sprawdzenie wszystkich węzłów ACO, są one dobre. Opieram się przeciwko BŁĘDOWI WALCZENIA FORMULARZA od komponentu Security w moim wywołaniu ajax.
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;
}
element bezpieczeństwa aktywny? oznacza, że chcesz zaszyfrować 'id' lub ukryć go w wywołaniu ajax? – coolguy
http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html – Tom
aahhh moje złe. Nie jestem facetem php do ciast ..Im z Zend Framework + Jquery. Istnieje mnóstwo ekspertów Cakephp w SO ..wkrótce znajdziesz to, czego potrzebujesz :) – coolguy