Я разрабатываю гибридное приложение с ionic 2, и я должен передать данные с сервера (файлы PHP) в приложение ionic.
Я знаю, что должен использовать HTTP-запрос для передачи данных между сервером и приложением, я искал в Интернете и нашел пример кода, который мне подходит, но проблема в том, что этот код печатается с сервера приложению с помощью Функция «эхо», и я бы передать значение переменной в приложение и ПОСЛЕ, потому что мне нужно изменить его.
Это код:
Форма в ионном приложении:
<ion-content padding="true">
<form ng-submit="submit()">
<label class="item item-input item-stacked-label">
<span class="input-label">username</span>
<input type="text" name="username" placeholder="enter username" ng-model="data.username">
</label>
<input class="button button-block button-positive" type="submit" name="submit" value="Submit to server">
</form>
<div class="card">
<div class="item item-text-wrap">
Response: <b ng-bind="response"></b>
</div>
</div>
</ion-content>
контроллер в app.js:
.controller('AppCtrl', function($scope, $http) {
$scope.data = {};
$scope.submit = function(){
var link = 'http://localhost/ShuttleFIX/api.php';
$http.post(link, {username : $scope.data.username}).then(function (res){
$scope.response = res.data;
});
};
});
Файл PHP на сервере:
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
$postdata = file_get_contents("php://input");
if (isset($postdata)) {
$request = json_decode($postdata);
$username = $request->username;
if ($username != "") {
echo "Server returns: " . $username;
}
else {
echo "Empty username parameter!";
}
}
else {
echo "Not called properly with username parameter!";
}
Кто-нибудь может мне помочь?
Спасибо
Использовать этот…
if ($username != "") {
json_encode(array("result"=>$username));
}
else {
json_encode(array("result"=>"No Data"));
}
}
else {
json_encode(array("result"=>"Not called properly with username parameter!"));
}
Сейчас в контроллере ..
$scope.username = response[0].result
Теперь вы можете написать свою логику, используя $scope.username
,
Вам необходимо отправить json
Данные к приложению также ..
Других решений пока нет …