我正在开发一个带有离子2的混合应用程序,我必须将数据从服务器(PHP文件)传递给离子应用程序。 我知道我必须使用HTTP请求在服务器和应用程序之间传递数据,我在网上搜索,我找到了一个适合我的代码示例,但问题是这个代码从服务器打印到应用程序使用函数“echo”,我会将变量的值传递给app和AFTER因为我需要修改它。
这是代码:
离子应用程序中的表单:
<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!";
}
有人可以帮助我吗?
感谢的
答案 0 :(得分:0)
使用此...
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
数据发送到应用..