2016-08-12 5 views
0

phpコントローラにng-click関数でPHP配列を渡そうとしています。php arrayをangularjsサービスに渡すには

ここに私のコードは私は角度関数にPHPの配列を渡しています。ここ

<button type="button" class="btn btn-success" 
    ng-click="removeItem('<?php echo htmlspecialchars(json_encode($value['BookingsHotel']));?>')">Cancel Room</button> 

が私のコードである私たちはJSONをやっていると、私はangularjsサービス

$booked_rooms=htmlspecialchars_decode($this->request->data['rooms']); 
$booked_rooms=json_decode($this->request->data['rooms']); 

と私のポストされたデータをアクセスしていますが、それはNULL値を与えるデコードします。

+0

あなたが含まれるコードは、あなたのアプリのどこにいるあなたは、さらに説明していただけますか? '$ scope.removeItem'関数のコードを含めることができますか? – plong0

+0

また、 '$ booked_rooms = json_decode(...);'が元のリクエストデータに対して機能していることにも注意してください。 '$ booked_rooms = json_decode($ booked_rooms);'が 'htmlspecialchars_decode(...)'の結果に作用するようにしたいなら、あなたは望むかもしれません。 – plong0

答えて

2

角度を使用しているためです。あなたのPHPバックエンドと通信するために$ httpを使用してください。 PHPのページで

$http({method: 'POST', url: your_url_variable, contentType: 'application/json; charset=utf-8', 
     data: {your_data_post_var:your_data_variable}, 
     headers: { 'Content-Type': 'application/json; charset=utf-8' } 
    }).success(function (result) { 
     console.log("result", result); 
    }).error(function (data, status, headers, config) { 
     console.log('ERROR', data, status, headers, config); 
    }); 

...

if($_SERVER["REQUEST_METHOD"] == "POST") { 
     $postdata = file_get_contents("php://input"); 
     if(!empty($postdata)) { 
      $post = json_decode($postdata); 

      ... do your stuff. 
関連する問題