2017-03-01 15 views
2

初心者:AngularJS: URL(PHPファイル)にhttp.getを介してパラメータを渡します。私のPHPファイルでは、私はwhere句でそれらのパラメータを読み取る必要があるmysqlクエリがあります。AngularJSでパラメータを渡してアクセスするhttp GET

簡潔に:http://example.com/page.php?dept=some_dept&office=some_officeは私の角度コントローラとビューの部分を持っている私のページです。これから私はURLの文字列/ paramsを取得して、私が応答をfectingしているところからangular-data.phpに渡します。しかし、angle-data.phpにはSQLのクエリがあります。このWHERE節の動的な値、つまりビューアのページ(urlはparamsで指定された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 &オフィス= some_office(継続...):?

<tr ng-repeat="x in names"> 
    <td> 
     {{$index + 1}} 
    </td> 
    <td>{{ x.Name}}.</td> 
    <td>{{ x.Office}}</td> 
</tr> 
0123私が欲しい

角度-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

、あなたは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

@あなたが言っていることを得るのが難しいです。 –

+0

http://example.com/page.php?dept=some_dept&office=some_officeは、私の角度コントローラとビューパーツを持っている私のページです。これから私はURLの文字列/ paramsを取得して、私が応答をfectingしているところから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

あなたはのparamタイプを持っている場合、私は、理解していませんhttpリクエストを送信する前に、htmlのオフィスを開きます。

その後:たとえば、SQLクエリで

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

最新の質問をご覧ください。 – M1988

関連する問題