я пытаюсь выполнить обещание в угловых, это мой сервисный код:
var carsService = function ($http, $q, $log, $rootScope) {
var service = this;
service.getInfo = function () {
var defer = $q.defer();
$http.get($rootScope.endPoint + 'cars.php?load=t')
.success(function (data) {
defer.resolve(data);
})
.error(function (data, status, headers, config) {
defer.reject({
n: 1000,
msj: 'some error msg'
});
$log.log(data + ' ' + status + ' ' + headers + ' ' + config);
});
return defer.promise;
};
};
и вот как я звонил с моего контроллера:
CarsService.getInfo()
.then(function (data) {
console.log(data);
}, function (err) {
swal("ERROR", "some error msg.", "error");
}
);
а это мой cars.php файл :
<?php
var $r = array('a'=>1,'b'=>2);
print json_encode($r);
?>
я ожидаю, что консоль напечатает массив, но я получу напечатанный код php.
PHP работает:
Я тоже попробовал с POSTMAN:
Любые идеи, ребята ???? Спасибо …
Ваша переменная $ rootScope.endPoint, вероятно, неверна.
Вызов GET в PostMan выполняется для localhost: 63342 (Webstorm LiveEdit?), А XAMPP работает на localhost: 8090. Файл cars.php должен быть выполнен на вашем сервере Apache, а вызов GET должен быть направлен на localhost: 8090 / path_to_cars.php.
Других решений пока нет …