hart kämpft Antwort vom Controller nach unten auf Änderungswert von Drop zu bekommen, aber immer internem ServerfehlerAjax und Json in cakephp 3.x
$(document).ready(function() {
//alert("ready!");
$('#devices-types-id').on('change', function() {
alert(this.value);
$.ajax({
type:"POST",
url: "<?php echo Router::url(array('controller'=>'FeaturesLists','action'=>'ajax_get_parent', '_ext' => 'json'));?>",
dataType: 'text',
async:false,
success: function(data){
alert(data);
},
error: function (data) {
alert(data);
}
});
});
aber immer Fehler mit Pfad zuerst
POST http://localhost/compare_devices/features-lists/%3C?php%20echo%20Router::ur…ction%27=%3E%27ajax_get_parent%27,%20%27_ext%27%20=%3E%20%27json%27));?%3E 404 (Not Found)
Wenn ich Pfad in Ajax-Aufruf wie diese URL schreibe: "/ ajax_get_parent" dann gibt es keinen Pfadfehler aber "Interner Server Fehler"
POST http://localhost/compare_devices/features-lists/ajax_get_parent 500 (Internal Server Error)
Controller-Code
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->Auth->allow(['ajaxGetParent']);
}
public function ajaxGetParent() {
$this->layout = false;
$this->set('text', 'SUCCESS');
$this->set('_serialize', ['text']);
}
In routes.php Ich habe diese Linie
Router::extensions('json', 'xml');
ich versuche, in json zu bekommen führen, aber nicht in der Lage. Kannst du mir einfach zeigen, wie ich das machen kann? Viele Fragen sind bereits mit dem gleichen Thema auf "SO" gepostet, aber die meisten von ihnen sind für CakePHP 2.x und ich habe einige verschiedene Lösungen (Hilfe von SO und Google) versucht, aber konnte es nicht lösen. Kannst du mir zeigen, wie ich in JSON Antwort bekommen und Pfadprobleme lösen kann?
Wo haben Sie Ihr jQuery-Skript? – Salines
mit jquery Online-Echo $ this-> Html-> Skript ('http://code.jquery.com/jquery.min.js'); echo $ this-> Html-> script ('featureList.js'); Rest des Codes in separate Datei mit dem Namen 'featureList.js' und dann in der Ansichtsdatei – coder
enthalten Sie eine .js-Datei, so dass Sie nicht PHP-Datei, da es nicht geparst werden kann. Deshalb erhalten Sie den Fehler 404. Über den 500-Fehler müssen Sie sich die Logs ansehen, um zu sehen, was passiert. Haben Sie die RequestHandler-Komponente geladen? – arilia