angularjs $http与jQuery ajax功能类似,但它不用担心参数中数组深度序列化的问题,故无需设置traditional属性
get:获取数据
$http({ method:'get', url:'/test', params:$params }).then(function successCallback(result) { //处理 },function errorCallback(result){ //处理 });
post:发送数据
$http({ method:'post', url:'/test', data:$data }).then(function successCallback(result) { //处理 },function errorCallback(result){ //处理 });
要注意参数params和data。
1.params是将要传递的数据放在了url后面,如:http://test?param1=1¶m2=2&...¶mn=n。常用于get方法。
2.data是将要传递的数据放在了body中。若后台是springmvc,需要添加@RequestBody才能接收到数据,如下所示:
@ResponseBody @RequestMapping(value = "/post",method = RequestMethod.POST) public Msg test(@RequestBody Data data){ //Data data与data:$data相对应 //逻辑处理 }
@RequestBody可以解析请求体中的数据。