一个简单的post请求

$http.post('do-submit.php',myData)

.success(function(){

    // some code

});

 

可是,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到

而是需要:

$params= json_decode(file_get_contents('php://input'),true);

解决方案是什么?

  1. 在服务器端(PHP)通过  $params = json_decode(file_get_contents(‘php://input’),true);   获取参数,小项目可以,大项目要一个一个改。(不推荐)
  2. 修改Angular的$httpProvider的默认处理:http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/  (为了便于以后的管理,这是最好的办法)
  3. 在$http 增加headers: {‘Content-Type’: ‘application/x-www-form-urlencoded’},
    transformRequest: function (obj) {
    var str = [];
    for (var p in obj) {
    str.push(encodeURIComponent(p) + “=” + encodeURIComponent(obj[p]));
    }
    return str.join(“&”);
    },
  4. 配置$httpProvider
var myApp = angular.module(‘app’,[]);

myApp.config(function($httpProvider){

$httpProvider.defaults.transformRequest = function(obj){

var str = [];

for(var p in obj){

str.push(encodeURIComponent(p) + “=” + encodeURIComponent(obj[p]));

}

return str.join(“&”);

}

$httpProvider.defaults.headers.post = {

‘Content-Type’: ‘application/x-www-form-urlencoded’

}

});

ionic使用常见问题(八)——PHP无法获取$http的post数据的更多相关文章

  1. 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)

    原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...

  2. ionic一些常见问题及方法

    1.打包的app无法访问互联网及网络资源(比如网页调试可以请求数据,安装到手机上无法请求数据) 添加白名单插件 ionic plugin add https://github.com/apache/c ...

  3. ionic一些常见问题及方法(网页链接式)

    ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...

  4. ionic 一些常见问题和命令

    最近项目需要用到ionic就马上去撸,但是做下来发现官方文档的native插件,按照文档来做也遇到很多坑或者暂时想不出办法实现的. ionic这种属于跨平台的开发,是适用于比较常见通用的平台,安卓机, ...

  5. Ionic Js十八:滑动框

    ion-slide-box 滑动框是一个包含多页容器的组件,每页滑动或拖动切换: 效果图如下:   用法 <ion-slide-box on-slide-changed="slid ...

  6. 单点登录cas常见问题(八) - 什么时候会用到代理proxy模式?

    举一个样例:有两个应用App1和App2,它们都是受Casserver保护的,即请求它们时都须要通过Cas server的认证. 如今须要在App1中通过Http请求訪问App2,显然该请求将会被Ap ...

  7. ionic+nodejs开发遇到的跨域和post请求数据问题

    最近学习ionic+nodejs开发混合app中遇到了一些问题,在此总结一下. 开发环境搭建 项目地址 https://github.com/ytudt/nodejsApp 代码和问题都会在之后的学习 ...

  8. 转载:ionic+nodejs开发遇到的跨域和post请求数据问题

    转载自:http://www.cnblogs.com/ytu2010dt/p/5471366.html 最近学习ionic+nodejs开发混合app中遇到了一些问题,在此总结一下. 项目地址 htt ...

  9. 关于ionic app $http.get()无法请求,导致页面没有数据的问题

    ionic app 打包后在真机上运行,无法用正常使用http.get(),这种情况被称为“白名单”,解决方法:切换到项目根目录,执行命令:cordova plugin add cordova-plu ...

随机推荐

  1. 疑难en_a

    1◆ a   æ eɪ ʌ ɑː ə      

  2. learning uboot switch to standby system using button

    pseudocode: If(reset_button was pressed ) { Change  uboot env bootslot^1 }

  3. JS之Callback function(回调函数)

    JS中的回调函数: 1.概念: 函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b,那么这个过程就叫回调,即把函数作为参数传入到另一个函数中,这个函数就是所谓的回调函数. 2.举例: ...

  4. easyui datagrid 诡异的无法显示问题

    举个应用场景的例子来说明: 在采购单的编辑页面,上方为采购单自身的属性信息,下方使用tabs控件,加入两个tab页,分别为采购明细列表(DataGrid)和审核记录列表(DataGrid),即一个主业 ...

  5. tp 邮件发送

    1.需要phpmail邮件发送包, 2.邮件发送函数function sendMail($to, $title, $content){ require_once('./PHPMailer_v5.1/c ...

  6. TV-B-Gone Kit - Universal v1.2

  7. Linux文件共享(单进程之间、多进程之间)

    转载:https://www.cnblogs.com/frank-yxs/p/5925603.html 在同一个进程中,实现文件共享的方法有两种: 多次使用open函数打开相同文件 使用dup/dup ...

  8. 【计算机视觉】ARM平台实现人脸检测YSQfastfd

    ARM平台实现于仕琪人脸检测库YSQfastfd 平台要求 ARM32 platform hardware board Ubuntu 16.04 with GTK3 library USB camer ...

  9. C/S架构和B/S架构

    本文内容整理自http://blog.csdn.net/tennysonsky/article/details/45062079 C/S架构和B/S架构是两种颇具影响力的软件体系结构.C/S是一种历史 ...

  10. 数组Arry的随机排序

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...