ionic中的配置
直接贴代码了。访问链接省略;
注意的是参数配置和服务请求方式: signinResouce.save
var service=angular.module('signin.services',[]);
service.factory('SigninFactory',function($rootScope,$log,$http,$resource,APIENV,Storage)
{
var apiUrl=APIENV.api;
//用来存储话题类别的数据结构,包含了下一页、是否有下一页等属性
var signinInfo={};
//resource请求服务
var signinResouce=$resource(
"http://www.*******"
);
//确定要返回的对象
var signinFactory = {};
//向服务器请求login登录
signinFactory.login=function (user)
{
signinResouce.save(
{
'name': user.username,
'password': user.password
}
, function(res){
console.log(res);
console.log(res.data);
if(res.status != undefined)
{
if(res.status.succeed==1){
signinInfo[1]=res.data;
}else{
signinInfo[0]=res.status.error_desc;
}
console.log(signinInfo[0]);
console.log(signinInfo[1]);
}
$rootScope.$broadcast('home.signinFinish');
});
};
signinFactory.getLoginStatu=function () {
if(mainInfo[0]==undefined){
return false;
}
return mainInfo[0];
};
return signinFactory;
});
PHP中的接受文件的配置
我请求的时候,一直找自己的问题,后来发现,angularJS和android、iOS的请求不一样;
**由于 PHP 接收的数据本应该是如下类型的:
{ name: ‘name’, password: ‘password’}
而实际上angularjs发送后,它接收的 $_POST 类型应该是:
name=name&password=password**
所以要修改如下:
添加如下代码
再获取name、password数据;
<?php
require(EC_PATH . '/includes/init.php');
include_once(EC_PATH . '/includes/lib_order_APP.php');
header("Access-Control-Allow-Origin: ".$_SERVER['HTTP_ORIGIN']);
header('Access-Control-Allow-Methods: "OPTIONS, GET, POST"');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"');
header('Access-Control-Max-Age: "3600"');
$postJson = file_get_contents('php://input');
$_POST = json_decode($postJson, true);
logResult("post:" . json_encode($_POST));
$name = $_POST['name'];
$password = $_POST['password'];
.......
问题解决;
如果有其他的疑问获取有其他的问题交流,请留言;