POST из AngularJS в тонкий фреймворк

Привет, я делаю форму, которая отправляет поисковый запрос на мой тонкий API.

форма работает, данные публикуются, но в slim я получаю данные в виде строки:

сообщение формы angular $scope.submitForm = function() { console.log("--> Отправка формы");

                $http({

                    url: "http://localhost/c2dapi/search",
                    data: $scope.searchForm,
                    method: 'POST',
                    headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}

                }).success(function(data){

                    console.log("OK", data)

                }).error(function(err){"ERR", console.log(err)})

};

//SLIM API
$app->post('/search', function () use ($app){
  $request = $app->request();
  $body = $request->getBody();
var_dump($body);
});

теперь это мой первый подход angular + rest, так что, может быть, я ошибаюсь, но когда я выгружаю тело в тонкий, я получаю строку OK (18) "{"zipCode":"3434"}"

Я знаю, что есть способы разбить эту строку в php, чтобы получить значение, но правильно ли это или я могу получить данные также в виде массива php в slim?


person Reza    schedule 08.08.2014    source источник
comment
Я понятия не имею, как работает slim, но пробовали ли вы кодировать тело запроса с помощью json_decode: $json = json_decode($request->getBody())   -  person miron    schedule 08.08.2014
comment
$ input = json_decode ($ body, правда); преобразует json в массив   -  person Kerisnarendra    schedule 01.09.2016


Ответы (1)


Вы можете попытаться декодировать строку json после получения запроса. Использование функции json_decode

person Lfa    schedule 08.08.2014