ionic $resource post访问PHP服务器

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'];
 .......

问题解决;
如果有其他的疑问获取有其他的问题交流,请留言;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值