2015-12-30 19 views
1

我想創建應用程序使用離子框架,我需要創建一個API連接。我的要求是我需要使用Firebase。我已經通過firebase.com。我學會了他們如何給我們一個url,以便api路由連接完成。但是我想創建我自己的api服務(模擬器),將所需的json作爲輸出?如何使用firebase.com創建api模擬器?

我該怎麼辦?

問候, Sabarisri

回答

2

我寫了一篇關於如何從離子應用PHP服務器上傳數據(讀迴響應),你可以查看它here中的詳細說明。

但是,作爲一個文藝青年最愛的,這是你將如何處理這個:

在您的服務器,你會做這樣的PHP文件:

<?php 
    //http://stackoverflow.com/questions/18382740/cors-not-working-php 
    if (isset($_SERVER['HTTP_ORIGIN'])) { 
     header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); 
     header('Access-Control-Allow-Credentials: true'); 
     header('Access-Control-Max-Age: 86400'); // cache for 1 day 
    } 

    // Access-Control headers are received during OPTIONS requests 
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { 

     if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) 
      header("Access-Control-Allow-Methods: GET, POST, OPTIONS");   

     if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) 
      header("Access-Control-Allow-Headers:  {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); 

     exit(0); 
    } 


    //http://stackoverflow.com/questions/15485354/angular-http-post-to-php-and-undefined 
    $postdata = file_get_contents("php://input"); 
    if (isset($postdata)) { 
     $request = json_decode($postdata); 
     $username = $request->username; 

     if ($username != "") { 
      echo "Server returns: " . $username; 
     } 
     else { 
      echo "Empty username parameter!"; 
     } 
    } 
    else { 
     echo "Not called properly with username parameter!"; 
    } 
?> 

請注意,我用PHP在這個例子中,但基本上它在任何其他語言中都是相同的。就谷歌而言,「如何用xyz語言創建一個API」,你應該獲得足夠多的關於如何實現這個目標的教程。當然,這裏的確切代碼必須適合您的確切情況,在這裏您基本上可以執行一些數據庫查詢或獲取一些其他數據,然後將其作爲json服務。

controller('AppCtrl', function($scope, $http) { 
    $scope.data = {}; 

    $scope.submit = function(){ 
     var link = 'http://your-server.com/api.php'; 

     $http.post(link, {data : $scope.data}).then(function (res){ 
      $scope.response = res.data; 
     }); 
    }; 
}); 

要使用這個API,你可以簡單地使用角的$ HTTP服務這樣的互動