Ich muss eine JSON-Antwort von meinem Controller auf mehrere Ansichten übergeben. Gibt es eine Möglichkeit, dies in Cakephp umzusetzen?CakePHP JSON Antwort auf mehrere View-Dateien von einem Controller
-2
A
Antwort
0
Sie brauchen nicht CakePHP, um dies zu tun, Sie brauchen nur JavaScript. Es gibt Möglichkeiten, dies mit JQuery zu tun, aber hier sind ein einfacher JS Ansatz:
var request = new XMLHttpRequest();
request.open('GET', '/controller/data.json', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
var data = JSON.parse(request.responseText);
console.log(data);
// Now you can update your view here.
} else {
// We reached our target server, but it returned an error
console.log(error)
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
Wenn ich falsch verstanden und Sie wollen verschiedene Ansichten mit der gleichen Controller-Aktion verwendet wird (nicht unbedingt JSON), können Sie dies in der Steuerung Aktion für Ihre Ansicht:
$records = $this->Record->find('all');
$this->set('records', $records);
switch($variable){
case "value1":
$this->render("view1");
break;
case "value2":
$this->render("view2");
break;
case "value3":
$this->render("view3");
break;
}
wo view1 /View/Record/view1.ctp
ist, und so weiter.