AngularJS下$http服务Post方法传递json参数的实例
程序员文章站
2022-11-23 11:00:15
本文主要介绍如何使用angularjs $http服务以post方法向服务器传递json对象数据。
具体如下:
一、$http post方法默认提交数据的类型为appl...
本文主要介绍如何使用angularjs $http服务以post方法向服务器传递json对象数据。
具体如下:
一、$http post方法默认提交数据的类型为application/json
var data = {'wid':'0', 'praise' : '25'}; $http.post(url, data).success(function(result) { // });
最终发送的请求是:
post http://www.example.com http/1.1 content-type: application/json;charset=utf-8 {'wid':'0','praise':'25'}
默认的这种方式可以直接将json对象以字符串的形式传递到服务器中,比较适合 restful 的接口。但是php脚本的$_post无法从请求体中获得json数据。
此时可以用:
$data = file_get_contents("php://input"); //获得原始输入流
注:enctype="multipart/form-data" 的时候 php://input 是无效的
获得请求原始输入流之后再做相应处理就可以获得json数据了。
二、 采用x-www-form-urlencoded 方式提交获得json数据
app.factory("comment",function($http){ return { get : function(commentfileurl) { return $http({ method: "get", url: commentfileurl, params: {r:math.random()}, headers: {'cache-control':'no-cache'} }); }, //保存一个评论 save : function(tourl,savefileurl,data) { $http({ method: "post", url: tourl, data: {saveurl:savefileurl,commit:data}, 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("&"); } }).success(function(data){ console.log("数据已保存!"); }).error(function(data) { alert("数据保存失败,错误信息:" + json.stringify({data:data})); }); } } }); var updateclickrate={'wid':'0','click_rate':'87'}; comment.save("php/updatework.php","../userdata/work_content.json",json.stringify(updateclickrate));
最终发送的请求是:
然后php服务端通过$_post['commit'] 对象就可以获得json字符串了。json对象用于http数据传输方便易用,相比xml更加小巧轻便。希望本文对你有所帮助。推荐一篇文章:http四种常见的post提交数据方式然后 php服务端通过$_post['commit'] 对象就可以获得json字符串了。
json对象用于http数据传输方便易用,相比xml更加小巧轻便。希望本文对你有所帮助。
以上这篇angularjs下$http服务post方法传递json参数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇: Android自定义日历效果
推荐阅读
-
Angularjs中$http以post请求通过消息体传递参数的实现方法
-
AngularJS下$http服务Post方法传递json参数的实例
-
Angularjs中$http以post请求通过消息体传递参数的实现方法
-
AngularJS $http post 传递参数数据的方法
-
AngularJS使用Post方法传递json参数的思路(附代码)
-
AngularJS下$http服务Post方法传递json参数的实例
-
$http服务Post方法传递json参数案例详解
-
AngularJS下$http服务Post方法传递json参数的实例
-
Angularjs中$http以post请求通过消息体传递参数的实现方法
-
怎样使用AngularJS内$http服务Post方法传递json参数