angular怎么发一个带json的get请求

我发现手册上get并没有提供这么个方式?

阅读 11.9k
5 个回答

你指的带JSON,是在RequestBody 里传JSON参数到后端吧?

如果是这样,那你想错了,不是Angular没提供,而是不应该这么做

get请求的话只能拼地址了吧

可以通过 $resource 来实现,

HTTP GET方法不支持传body域,如果你指的是将JSON通过参数传递的话应该先将JSON进行URLEncode,即:

var data = {'foo': 'bar'};
var json_str = JSON.stringify(data);
var encoded_param = encodeURIComponent(json_str); // 转码

$http.get('/path', {
    params: { encoded_param: userencoded_paramid }
});

通过Angular $http传递的话应该是

angular.module('ngApp')
.controller('aboutCtrl', function ($scope, $http) {
var url = 'xxx.json';
$http.get(url).success(function (data) {
$scope.tableDate = data
})
});

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进