2015-10-02 77 views
0

我想要的角度來執行一個承諾,這是我的服務代碼:angularjs PHP文件不執行

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); 
?> 

什麼,我期待爲t他控制檯打印一個數組,但我得到的是打印的php代碼。

enter image description here

PHP運行:

enter image description here

我與郵差嘗試過:

enter image description here

任何想法傢伙????謝謝...

+0

如果你直接運行'cars.php',它會被執行嗎? –

回答

0

您的$ rootScope.endPoint變量可能不正確。

PostMan中的GET調用是通過localhost:63342(Webstorm LiveEdit?)進行的,XAMPP在localhost:8090上運行。 cars.php文件必須在Apache服務器上執行,GET調用必須定向到localhost:8090/path_to_cars.php。

+0

這是正確的,我沒有執行我的網站下Apache服務器......謝謝! –