javascript - 通过 AngularJS http GET 传递和访问参数

标签 javascript php mysql angularjs angular-http

AngularJS 初学者: 我通过 http.get 将参数传递给 url(php 文件)。在我的 php 文件中,我有 mysql 查询,我必须在其中读取 where 子句中的那些参数。

简而言之:http://example.com/page.php?dept=some_dept&office=some_office是我的页面,我有 Angular Controller 和 View 部分。从这里我想获取 url string/params 并传递到 angular-data.php 从那里我 fecthing 响应。但是,angular-data.php 有一个 sql 查询,我计划在其中传递 WHERE 子句中的动态值,即来自 Angular Controller (部门和办公室)的参数,然后在我的 View 页面上获得响应(上面给出的带有参数的 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);

最佳答案

在您的 SQL 查询中,您正在获取 deptoffice。 您可以按如下方式传递这些参数。

您可以使用 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

关于javascript - 通过 AngularJS http GET 传递和访问参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538807/

相关文章:

php - 如何检查dynamodb中字符串集中是否存在字符串

PHP 到 js-PHP 解决方案以避免页面加载

javascript - 如何使用同一个类的js查询标签?

javascript - NG-repeat 不起作用,但可以看到单个项目

php - 无论我在表单中提交什么数字,MySQL 只存储 "1"(作为一个值)

php - 创建运动员表失败 SQLSTATE[23000] : Integrity constraint violation:

javascript - 当伪 javascript 类已经初始化时,我在尝试修改 "this"对象时遇到了很多麻烦

php - 通过 MySQL 或 PHP 检查重叠时间段(日期之间)

一次列出 MySQL 用户权限

java - 如何使用 JDO 从数据库中获取特定数量的行?