2016-08-12 4 views
0

Ich versuche, ein PHP-Array in NG-Klick-Funktion, um es in PHP-Controller haben.Wie Php-Array zu angularjs Dienst übergeben

Hier ist mein Code Ich übergebe PHP-Array zu Winkelfunktion.

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

hier ist mein Code, ich mit AngularJS Dienst meine gebuchten Daten am Zugriff auf

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

sobald wir json dekodieren es gibt einen Nullwert tun.

+0

Können Sie bitte weiter erläutern, wo der Code, den Sie in Ihrer Anwendung enthalten sind? Können Sie Code für die Funktion '$ scope.removeItem' einfügen? – plong0

+0

Beachten Sie auch, dass '$ booked_rooms = json_decode (...);' auf die ursprünglichen Anforderungsdaten wirkt. Vielleicht möchten Sie: '$ booked_rooms = json_decode ($ booked_rooms);' wenn Sie möchten, dass es auf das Ergebnis von 'htmlspecialchars_decode (...)' reagiert. – plong0

Antwort

2

Da Sie angular verwenden. Verwenden Sie einfach $ http, um mit Ihrem PHP-Backend zu kommunizieren.

$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); 
    }); 

In Ihrer PHP-Seite ...

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

      ... do your stuff. 
Verwandte Themen