【发布时间】:2016-03-22 08:06:00
【问题描述】:
众所周知,Angular 最近弃用了 http.get.success,error 函数。因此,不再建议在您的控制器中使用这种调用:
$http.get("/myurl").success(function(data){
myctrl.myobj = data;
}));
而是要使用这种调用:
$http.get("/myurl").then(
function(data) {
myctrl.myobj = data;
},
function(error) {
...
}
问题是,简单的 Spring REST 模型不适用于此新代码。我最近下载了一个带有上述旧成功函数和这样的 REST 模型的示例代码:
@RequestMapping("/resource")
public Map<String,Object> home() {
Map<String,Object> model = new HashMap<String,Object>();
model.put("id", UUID.randomUUID().toString());
model.put("content", "Hello World");
return model;
}
这应该为$http.get() 调用返回一个类似{id:<someid>, content:"Hello World"} 的地图,但它什么也没收到 - 视图是空白的。
我该如何解决这个问题?
【问题讨论】:
-
用浏览器能搞定吗?
-
是的,我可以:
{"id":"f77e3886-976b-4f38-b84d-ae4d322759d4","content":"Hello World"} -
它是否适用于
success()而不是 then()? -
也可以试试
console.log(error) -
@Michelem 与
success()合作。