2016-04-02 15 views
0

Ich arbeite mit CakePHP und ich möchte einige Inhalte in meiner Datenbank mit AJAX abrufen. Ich habe an PHP-Code gearbeitet und es scheint zu funktionieren ... Allerdings funktioniert der Ajax-Aufruf nicht ... Es gibt mir eine "Null" statt der JSON-Inhalt.Meine AJAX-Funktion gibt null zurück

Hier ist mein Code:

<a onclick="updateResult()">TEST</a> 

<div id="test"></div> 


<script type="text/javascript"> 
    function updateResult(){ 
     $.ajax({ 
      url: '/regions/articles/viewresult', 
      data : { 
       category_id : "35" 
      }, 
      dataType : 'json', 
      success : function(html, textStatus) { 
       alert('Success ' + textStatus + html); 
      }, 
      error : function(xhr, textStatus, errorThrown) { 
       alert('Error ! ' + errorThrown); 
      } 
     }); 
    } 
</script> 

By the way,/Regionen/articles/Viewresult zurückkehrt

[{"id":1,"title":"regionacal","body":"regionacaltest","category_id":35,"created":"2016-04-02T22:44:21+0000","modified":"2016-04-02T22:44:21+0000"}] 

Aber der Erfolg Funktion in meinem JS gibt mir "null" ...

Wissen Sie warum?

+0

Mit "Rückkehr" meinst du "in einem Alarm anzeigen"? Weil es keinen nützlichen Platz (für die Ausgabe) für eine "Rückkehr" in diesem Code gibt. – user2864740

+0

Ja "die Rückkehr" in der Warnung. Es zeigt "Erfolgserfolg null". – FabriceDouceur

+0

Wie wird bestätigt, dass die angezeigte Antwort die vom Server zurückgegebene Antwort ist? – user2864740

Antwort

0

Machen Sie Ihre Anfrage auf: /regions/articles/viewresult.json

Und stellen Sie sicher, dass Sie die json richtig aus der Controller-Methode zurück.

Um die Antwort Variable zu serialisieren.

$this->set('_serialize', ['response']); 

Um alle verfügbaren Ansichts Variablen

$this->set('_serialize', true); 

Auch stellen Sie sicher, dass routes.php die json Erweiterung aktiviert ist serialisiert.