我有一個JSON響應:
{
"success": false,
"error": "Server says no.",
"data": []
}
包裹在$resource
這樣的:
$resource("path-to-file.json", null, {
query: {
method: "GET",
isArray: false,
responseType: "json",
interceptor: {
response: function (response) {
if (!response.data.success) {
// stop propagation of events/promises and trigger error
}
// do something else with response.data
return response;
}
}
}
});
如果"success": false
我想觸發的$http
誤差函數。
我想這樣做:
$scope.myVar = MyService.query(); // MyService returns $resource
在控制器
。無論我嘗試做什麼,迴應都傳遞給$scope.myVar
。
也許指出顯而易見的,但你意識到「inteceptor」中的拼寫錯誤吧?它應該是「攔截器」。 –
@ J.P.tenBerge謝謝。拼寫更正。不幸的是這不是問題。我的實際應用程序中拼寫正確! – Simon
除了Chandermani的回答,你不應該檢查'response.success'而不是'response.data.success'嗎? –