Cómo usar el recurso angularjs $ con script php

tengo preguntas relacionadas con PHP – AngularJs, así que tengo un script PHP simple

query($sql) === TRUE) { echo mysqli_insert_id($mysqli); } else { echo "Error updating record: " . $mysqli->error; } $mysqli->close(); } ?> 

En este momento paso los datos al script como este

 return $http({ method: 'POST', url: '/api/drivers/deleteDriver.php', data: $.param(driverObject), headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }); 

Y no me gusta ese código, en otro proyecto de Java envío params a los puntos finales con el servicio angularjs $ resource como este

 var deleteDriverResouce = $resource('/api/drivers/deleteDriver.php'); function deleteDriver() { deleteDriverResouce.save(driverObject); } 

Y como pueden ver es un código más limpio y más fácil de usar, me pregunto si puedo usar el servicio $ resource para pasar el objeto al script php.

Solutions Collecting From Web of "Cómo usar el recurso angularjs $ con script php"

Así que encontré la solución y la compartiré aquí, así que tal vez alguien la necesite. Para usar el servicio de recursos AngularJs $, solo necesita hacer pequeños cambios en el script PHP, simplemente agregue $object = json_decode(file_get_contents("php://input"), true); de esa manera puede acceder al objeto que envió por $ recurso. Y aquí hay un ejemplo de un script PHP en funcionamiento.

 < ?php require_once '../dbConnect.php'; session_start(); $object = json_decode(file_get_contents("php://input"), true); if (isset($object['email']) && isset($object['password'])) { $email = $object['email']; $password = $object['password']; $query="select * from members where email='$email'"; $result = $mysqli->query($query) or die($mysqli->error.__LINE__); $row = mysqli_fetch_assoc($result); if($row) { if (password_verify($object['password'], $row['password'])) { $_SESSION["id"] = $row['id']; echo 'Login Success!'; } else { session_destroy(); var_dump(http_response_code(400)); } } else { session_destroy(); var_dump(http_response_code(406)); } $mysqli->close(); } else { session_destroy(); var_dump(http_response_code(400)); } ?> 

Y en la interfaz de usuario tengo este código simple y mínimo:

 var userLoginObject = { email: 'login@email.com', password: 'password123' }; var authenticationResource = $resource('/api/authentication/authenticate.php'); function logIn() { authenticationResource.save(userLoginObject ); } 

Eso es mucho mejor y más limpio que usar feo

 return $http({ method: 'POST', url: '/api/drivers/authenticate.php', data: $.param(userLoginObject), headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });