2016-03-31 1 views
2

Ich habe einen AJAX-Aufruf an PHP.

Die Winkel ist einfach:

$http({ // ...    
     } 
    ) 
    .then(function cf_handle_success(argo_response) 
      { console.log(argo_response.data) ; // --> [object Object] 
      } , 
     // ... 
     ) ; 

Die php straight forward:

$lvl = array("prop_A" => "value_A" , ...) ; 
echo json_encode($lvl , JSON_FORCE_OBJECT) ; 

Warum ist nicht argo_response.data ein JSON-String?

Es ist wahr, dass, sobald der Kunde die zurückgegebenen Informationen von PHP erhält ich es über (JSON.parse(my_jsonString);) in Objekt umgewandelt werden muss.

Antwort

3

Weil Angular es für Sie automatisch analysiert, wie jQuery und mehrere andere Bibliotheken tun.

Vom $http docs:

Standard Transformations:

...

Response-Transformationen ($httpProvider.defaults.transformResponse und $http.defaults.transformResponse):

  • Wenn XSRF Präfix erkannt wird, Streifen Sie es aus (siehe Sicherheit Überlegungen Abschnitt unten).
  • Wenn JSON-Antwort erkannt wird, deserialisieren Sie sie mithilfe eines JSON-Parsers.

(mein Schwerpunkt auf die letzte Kugel)

Verwandte Themen