我使用$routeProvider
设置路由,如
when('/grab/:param1/:param2', {
controller: 'someController',
templateUrl: "templates/someTemplate.html",
}).
然后在someController
中,我可以用$routeParams.param1
读取参数。
我怎么能接收JSON POST,而不是让我不必在URL中使用参数?有什么东西我可以在控制器中使用,例如$request.postData
?
编辑:我会尽量让它更清楚
而不是接收param1
和param2
(即在GET调用的URL),然后使用$routeParams
来读取它们并在我的控制器中使用它们,我想接收一个JSON对象(当然是在POST请求中),并在我的控制器中提供该对象。
我终于解决了这个问题。在mywebsite.com上没有PHP或任何服务器端脚本可以获得JSON对象(POST)和JavaScript本身也不能。
你可能想在路由提供程序中将service
传递给路由的resolve
选项。该服务应该实现$http
并获取json。resolve选项必须在控制器初始化之前完成获取。解析还将使json数据在控制器的$作用域中可用。
第一次设置这个并不简单,但它是可重复的,也是将数据从http请求传递给Angular控制器的最常见方法之一。
看看这个答案:AngularJS: factory $http。get JSON文件