Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2015, 15:07
Интересующийся
Отправить личное сообщение для Paul_Wahtel Посмотреть профиль Найти все сообщения от Paul_Wahtel
 
Регистрация: 26.03.2015
Сообщений: 17

$http service и взаимодействие с БД
У меня есть сервис в котором описаны функции вывода данных, добавления данных и удаления данных
app.service("friendService", function( $http, $q ) {

        // Return public API.
        return({
            addFriend: addFriend,
            getFriends: getFriends,
            removeFriend: removeFriend
        });


        // ---
        // PUBLIC METHODS.
        // ---


        // I add a friend with the given name to the remote collection.
        function addFriend( name ) {

            var request = $http({
                method: "post",
                url: "server.php",
                params: {
                    action: "add"
                },
                data: {
                    name: name
                }
            });

            return( request.then( handleSuccess, handleError ) );

        }


        // I get all of the friends in the remote collection.
        function getFriends() {

            var request = $http({
                method: "get",
                url: "server.php",
                params: {
                    action: "get"
                }
            });

            return( request.then( handleSuccess, handleError ) );

        }


        // I remove the friend with the given ID from the remote collection.
        function removeFriend( id ) {

            var request = $http({
                method: "delete",
                url: "server.php",
                params: {
                    action: "delete"
                },
                data: {
                    id: id
                }
            });

            return( request.then( handleSuccess, handleError ) );

        }


        function editFriend( id, name ) {

                var request = $http({
                    method: "put",
                    url: "server.php",
                    params: {
                        action: "put"
                    },
                    data: {
                        id: id,
                        name: name
                    }
                });

                return( request.then( handleSuccess, handleError ) );

            }


        // ---
        // PRIVATE METHODS.
        // ---


        // I transform the error response, unwrapping the application dta from
        // the API response payload.
        function handleError( response ) {

            // The API response from the server should be returned in a
            // nomralized format. However, if the request was not handled by the
            // server (or what not handles properly - ex. server error), then we
            // may have to normalize it on our end, as best we can.
            if (
                ! angular.isObject( response.data ) ||
                ! response.data.message
                ) {

                return( $q.reject( "An unknown error occurred." ) );

            }

            // Otherwise, use expected error message.
            return( $q.reject( response.data.message ) );

        }


        // I transform the successful response, unwrapping the application data
        // from the API response payload.
        function handleSuccess( response ) {

            return( response.data );

        }

    }
);


и есть контроллер где эти функции вызываются

app.controller("DemoController", function( $scope, friendService ) {

        // I contain the list of friends to be rendered.
        $scope.friends = [];

        // I contain the ngModel values for form interaction.
        $scope.form = {
            name: ""
        };

        loadRemoteData();


        // ---
        // PUBLIC METHODS.
        // ---


        // I process the add-friend form.
        $scope.addFriend = function() {

            // If the data we provide is invalid, the promise will be rejected,
            // at which point we can tell the user that something went wrong. In
            // this case, I'm just logging to the console to keep things very
            // simple for the demo.
            friendService.addFriend( $scope.form.name )
                .then(
                    loadRemoteData,
                    function( errorMessage ) {

                        console.warn( errorMessage );

                    }
                )
            ;

            // Reset the form once values have been consumed.
            $scope.form.name = "";

        };


        // I remove the given friend from the current collection.
        $scope.removeFriend = function( friend ) {
            console.log(friend.id);

            // Rather than doing anything clever on the client-side, I'm just
            // going to reload the remote data.
            friendService.removeFriend( friend.id )
                .then( loadRemoteData )
            ;

        };

         $scope.editFriend = function( friend ) {

            // Rather than doing anything clever on the client-side, I'm just
            // going to reload the remote data.
            friendService.editFriend( friend.id )
                .then( loadRemoteData )
            ;

        };


        // ---
        // PRIVATE METHODS.
        // ---


        // I apply the remote data to the local scope.
        function applyRemoteData( newFriends ) {

            $scope.friends = newFriends;

        }


        // I load the remote data from the server.
        function loadRemoteData() {

            // The friendService returns a promise.
            friendService.getFriends()
                .then(
                    function( friends ) {

                        applyRemoteData( friends );

                    }
                )
            ;

        }

    }
);


и конечно существует сервер где обрабатываются запросы в БД

<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "000000");
define("DB_NAME", "users");


mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD);
mysql_select_db(DB_NAME);



if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $result = mysql_query("select * from `name` ");

    $data = array();

    while ($row = mysql_fetch_array($result)) {
      $data[] = $row;
    }
        print json_encode($data);
}

if ($_SERVER['REQUEST_METHOD'] == "POST") {
  $data = json_decode(file_get_contents("php://input"));
  $name = mysql_real_escape_string($data->name);
  $email = mysql_real_escape_string($data->email);
  $telephone = mysql_real_escape_string($data->telephone);
  $city = mysql_real_escape_string($data->city);
  $address = mysql_real_escape_string($data->address);
  $state = mysql_real_escape_string($data->state);
  $zip = mysql_real_escape_string($data->zip);



  $sql = "INSERT INTO `name`(`name`)VALUES('".$name."')";
  mysql_query($sql) or die(mysql_error());
} 

if($_SERVER['REQUEST_METHOD'] == 'DELETE')
{
  $params = array();
  parse_str(file_get_contents('php://input'), $params);
   $id = $params['id'];
  
  $sql = "DELETE FROM name
      WHERE id = $id";
  mysql_query($sql) or die(mysql_error());
  
}


    

?>


Вывод и добавление работают правильно, а вот удаление нет, но и ошибок никаких не выдает, если нажать на кнопку удалить, то вроде все правильно работает если посмотреть в консоль, запрос вроде срабатывает, и id нужный тоже получает, пожалуйста кто понимает в чем дело объясните а то надо уже сдавать работу, и все уже готово, только вот тут уперся в тупик...(
Изображения:
Тип файла: jpg Безымянный.jpg (10.0 Кб, 2 просмотров)
Тип файла: jpg id.jpg (10.6 Кб, 1 просмотров)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вакансия "Старший специалист по развитию HP Service Manager" Kseniya_Stolyarova Работа 3 01.10.2015 19:13
Помогите пожалуйста разобраться с $http сервисом Paul_Wahtel Angular.js 1 25.05.2015 08:47
Chrome extension, взаимодействие со страницей rekzi Javascript под браузер 2 19.02.2014 22:39
Взаимодействие со скриптом на протяжении его выполнения Malgin AJAX и COMET 6 23.08.2010 22:39
Как реализовать взаимодействие окон? JSTalker ExtJS 1 29.06.2010 14:29