2017-03-01 71 views
2

初學者AngularJS: 我通過http.get將參數傳遞給url(php文件)。在我的php文件中,我有mysql查詢,我必須在where子句中讀取這些參數。通過AngularJS傳遞和訪問參數http GET

簡而言之:http://example.com/page.php?dept=some_dept&office=some_office是我的頁面,我有我的角度控制器和視圖部分。從這我想要得到url字符串/ params並傳遞到angular-data.php從我感興趣的地方迴應。然而,angular-data.php有一個SQL查詢,我打算在WHERE子句中傳遞動態值,即角度控制器(部門和辦公室)中的參數,然後在我的視圖頁面上獲得響應(上面用參數給出的url)

下面是到目前爲止我的代碼:

page.php?dept=some_dept&office=some_office

var app = angular.module('myApp', []); 
     app.controller('customersCtrl', function ($scope, $http) { 
      $http({ 
       method: 'GET', 
       url: 'angular-data.php', 
       data: { 
        param1: type, 
        param2: office 
       } 
      }).then(function (response) { 
       $scope.names = response.data.records; 
      }); 
     }); 

page.php文件部門= some_dept &辦公室= some_office(繼續...):

<tr ng-repeat="x in names"> 
    <td> 
     {{$index + 1}} 
    </td> 
    <td>{{ x.Name}}.</td> 
    <td>{{ x.Office}}</td> 
</tr> 

角data.php,我想動態params用於在WHERE子句:

header("Access-Control-Allow-Origin: *"); 
header("Content-Type: application/json; charset=UTF-8"); 
$conn = new mysqli("localhost", "root", "", "local_server"); 
$result = $conn->query("SELECT * FROM `table` WHERE `Dept` = " . $_GET['dept'] . " AND `Office` = " . $_GET['office'] . ""); 
$outp = ""; 
while ($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
    if ($outp != "") { 
     $outp .= ","; 
    } 
    $outp .= '{"Name":"' . $rs["Name"] . '",'; 
    $outp .= '"Office":"' . $rs["Office"] . '"}'; 
} 
$outp = '{"records":[' . $outp . ']}'; 
$conn->close(); 
echo($outp); 
+0

什麼是不工作,你可以告訴被找到。 ?此外,你是張貼或你想使用得到? –

+0

@YashveerSingh查詢無法訪問通過角度應用程序傳遞的參數。 – M1988

+0

你有沒有檢查網絡標籤?你看到一個請求嗎?請檢查,首先可能是你的想法 –

回答

1

在SQL查詢中,你得到deptoffice。 您可以按如下所示傳遞這些參數。

您可以使用params:將與paramSerializer序列化並附加爲GET參數的字符串或對象的映射。

$http({ 
      method: 'GET', 
      url: 'angular-data.php', 
      params: 'dept=some_dept, office=some_office' 
    }) 

OR

$http({ 
      method: 'GET', 
      url: 'angular-data.php', 
      params: { 
        dept:"some_dept", 
        office:"some_office" 
        } 
    }) 

更可以在這裏$http#config

+0

其實它是相反的,我沒有得到SQL查詢中的參數。我想將參數傳遞給sql查詢。不確定,如果可能的話。 – M1988

+0

@Moin它很難得到你想說的 –

+0

http://example.com/page.php?dept=some_dept&office=some_office是我的頁面,我有我的角度控制器和視圖部分。從這我想要得到url字符串/ params並傳遞到angular-data.php從我感興趣的地方迴應。但是,角度數據。PHP有一個SQL查詢,我打算在WHERE子句中傳遞動態值,即角度控制器(部門和辦公室)中的參數,然後在我的查看頁面上獲得響應(上面用params給出的url)。希望有道理:) – M1988

1
var app = angular.module('myApp', []); 
     app.controller('customersCtrl', function ($scope, $http) { 
      $http({ 
       method: 'GET', 
       url: 'angular-data.php', 
       params: { 
      param1: 1, 
      param2: 2 
     } 
      }).then(function (response) { 
       $scope.names = response.data.records; 
      }); 
     }); 

檢查的詳細信息

AngularJS passing data to $http.get request

+0

請查看更新的問題。 – M1988

1

我不明白,如果你有一個參數類型並在發送http請求之前在html中辦公。例如:

則:

data: { 
    param1: $scope.type 
} 
+0

請參閱最新的問題。 – M1988