通过AngularJS http GET 传递和访问参数
Pass and access parameters through AngularJS http GET
AngularJS
初学者:
我正在通过 http.get
将参数传递给 url(php 文件)。在我的 php 文件中,我有 mysql 查询,我必须在其中读取 where 子句中的那些参数。
简而言之:http://example.com/page.php?dept=some_dept&office=some_office 是我的页面,其中有我的 angular 控制器和视图部分。从这里我想得到 url string/params 并从我正在获取响应的地方传递到 angular-data.php 。但是,angular-data.php 有一个 sql 查询,我计划在其中传递 WHERE 子句中的动态值,即之前来自 angular 控制器(部门和办公室)的参数在我的视图页面上获得响应(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?dept=some_dept&office=some_office(继续...):
<tr ng-repeat="x in names">
<td>
{{$index + 1}}
</td>
<td>{{ x.Name}}.</td>
<td>{{ x.Office}}</td>
</tr>
angular-data.php 我想为 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);
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;
});
});
查看更多详情
我不明白,如果您在发送 http 请求之前在 html 中有参数类型和办公室。例如:
然后:
data: {
param1: $scope.type
}
在您的 SQL 查询中,您正在获取 dept
和 office
。
您可以按以下方式传递这些参数。
您可以使用 params
: 将使用 paramSerializer 序列化并附加为 GET 参数的字符串或对象的映射。
$http({
method: 'GET',
url: 'angular-data.php',
params: 'dept=some_dept, office=some_office'
})
或
$http({
method: 'GET',
url: 'angular-data.php',
params: {
dept:"some_dept",
office:"some_office"
}
})
更多可以在这里找到$http#config
AngularJS
初学者:
我正在通过 http.get
将参数传递给 url(php 文件)。在我的 php 文件中,我有 mysql 查询,我必须在其中读取 where 子句中的那些参数。
简而言之:http://example.com/page.php?dept=some_dept&office=some_office 是我的页面,其中有我的 angular 控制器和视图部分。从这里我想得到 url string/params 并从我正在获取响应的地方传递到 angular-data.php 。但是,angular-data.php 有一个 sql 查询,我计划在其中传递 WHERE 子句中的动态值,即之前来自 angular 控制器(部门和办公室)的参数在我的视图页面上获得响应(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?dept=some_dept&office=some_office(继续...):
<tr ng-repeat="x in names">
<td>
{{$index + 1}}
</td>
<td>{{ x.Name}}.</td>
<td>{{ x.Office}}</td>
</tr>
angular-data.php 我想为 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);
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;
});
});
查看更多详情
我不明白,如果您在发送 http 请求之前在 html 中有参数类型和办公室。例如:
然后:
data: {
param1: $scope.type
}
在您的 SQL 查询中,您正在获取 dept
和 office
。
您可以按以下方式传递这些参数。
您可以使用 params
: 将使用 paramSerializer 序列化并附加为 GET 参数的字符串或对象的映射。
$http({
method: 'GET',
url: 'angular-data.php',
params: 'dept=some_dept, office=some_office'
})
或
$http({
method: 'GET',
url: 'angular-data.php',
params: {
dept:"some_dept",
office:"some_office"
}
})
更多可以在这里找到$http#config