0
私はサーバーから何らかの情報を得るために$ http.getを使用しています。まず、コントローラはBackendServicesを呼び出し、サービスに私は$ http.get呼び出す:AngularJs - 特定のケースで何も返さないjson_encode
コントローラー:
app.controller('courseController', ['$scope', 'BackendServices', function ($scope, BackendServices) {
BackendServices.lookForCourses().then(
function (response) {
console.log(response);
},
function (response) {
}
);
$scope.addCourse = function (courseName) {
console.log(courseName);
};
}]);
サービス:
app.service('BackendServices', function ($http) {
var backendServices = {};
backendServices.lookForCourses = function() {
return $http.get('app/backend/lookForCourses');
}
return backendServices;
});
PHPファイルは、CakePHPフレームワークの下で動作します。
lookForCourses:これを行う
public function lookForCourses() {
$this->autoRender = false;
$cursosFind = $this->Curso->find('all', array('fields' => array('nombreCurso')));
$cursos = array();
foreach($cursosFind as $index => $curso) {
$cursos[$index]['nombre'] = $curso['Curso']['nombreCurso'];
}
echo json_encode($cursos);
}
iは、コンソール上の応答として得る:
オブジェクト{データ: ""、ステータス:200、設定:オブジェクト、STATUSTEXT: "OK"}
私はこれを行う場合:
var_dump($cursos);
Iを次を得る:
array (size=3)
0 =>
array (size=1)
'nombre' => string 'Tecnologias de la informacion' (length=29)
1 =>
array (size=1)
'nombre' => string 'Propedeutico' (length=12)
2 =>
array (size=1)
'nombre' => string 'Lectura y redaccion' (length=19)
しかし、私は次の操作を実行した場合:
$test = array(array('nombre' => 'Propedeutico'), array('nombre' => 'Tecnologias'));
echo json_encode($test);
私は応答としてその配列を得るか...
を私は何をしないのですか?これは愚かな間違いかもしれませんが、私はこれまで解決できませんでした...
ありがとうございました!
'echo json_encode($ cursos、true)'についてはどうですか? – Ankh
そのようなレスポンスで同じ結果が... Object {data: ""、status:200、config:Object、statusText: "OK"} –