aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/xhr.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/xhr.js')
-rw-r--r--src/service/xhr.js30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/service/xhr.js b/src/service/xhr.js
index 224bc57a..bf882684 100644
--- a/src/service/xhr.js
+++ b/src/service/xhr.js
@@ -10,8 +10,6 @@
* in your tests
* @requires $xhr.error $xhr delegates all non `2xx` response code to this service.
* @requires $log $xhr delegates all exceptions to `$log.error()`.
- * @requires $updateView After a server response the view needs to be updated for data-binding to
- * take effect.
*
* @description
* Generates an XHR request. The $xhr service delegates all requests to
@@ -173,8 +171,8 @@
</doc:scenario>
</doc:example>
*/
-angularServiceInject('$xhr', function($browser, $error, $log, $updateView){
-
+angularServiceInject('$xhr', function($browser, $error, $log){
+ var rootScope = this;
var xhrHeaderDefaults = {
common: {
"Accept": "application/json, text/plain, */*",
@@ -206,19 +204,19 @@ angularServiceInject('$xhr', function($browser, $error, $log, $updateView){
response = fromJson(response, true);
}
}
- if (200 <= code && code < 300) {
- success(code, response);
- } else if (isFunction(error)) {
- error(code, response);
- } else {
- $error(
- {method: method, url: url, data: post, success: success},
- {status: code, body: response});
- }
+ rootScope.$apply(function(){
+ if (200 <= code && code < 300) {
+ success(code, response);
+ } else if (isFunction(error)) {
+ error(code, response);
+ } else {
+ $error(
+ {method: method, url: url, data: post, success: success},
+ {status: code, body: response});
+ }
+ });
} catch (e) {
$log.error(e);
- } finally {
- $updateView();
}
}, extend({'X-XSRF-TOKEN': $browser.cookies()['XSRF-TOKEN']},
xhrHeaderDefaults.common,
@@ -228,4 +226,4 @@ angularServiceInject('$xhr', function($browser, $error, $log, $updateView){
xhr.defaults = {headers: xhrHeaderDefaults};
return xhr;
-}, ['$browser', '$xhr.error', '$log', '$updateView']);
+}, ['$browser', '$xhr.error', '$log']);