2013-12-11 12 views
2

我有一個場景,我想向服務器發出XHR帖子。我不想通過這樣觸發$ rootScope。$ digest()。我知道我可以手動創建自己的XMLHttpRequest來做同樣的事情,但我覺得應該有一種方法來在缺省情況下在angularjs中執行此操作。角度執行XHR請求而不觸發摘要

任何人有任何想法?

+0

整點越來越不使用'$ .ajax''$ http'工作就好了麼? – bevacqua

+0

這需要你對jquery有一個依賴,我相信。 –

+0

查看[$ http:991](https://github.com/angular/angular.js/blob/master/src/ng/http.js#L991),解決此問題的唯一方法是開啓' $ rootScope。$$ phase' _(一個非常複雜的黑客攻擊)_,使用外部庫來實現它,或者根本不關心請求是否觸發'$ digest'循環。最後一個是你應該爲之奮鬥的。 – bevacqua

回答

1

退房$http:991,要解決它的唯一方法是打開$rootScope.$$phase(一個極端的fugly黑客),使用外部庫來完成它,或者乾脆不關心的請求是否觸發$digest週期。最後一個是你應該爲之奮鬥的。

要麼使用外部庫,要麼徹頭徹尾討厭

$rootScope.$$phase = true; 
$http.get('/foo').success(function() { 
    $rootScope.$$phase = false; 
}); 

顯然不reccomended因爲很多意想不到的東西會發生,所以。是的,外部圖書館。

什麼,你真正應該做的是不考慮各地Angular.js

+0

我同意不試圖繞過角度的想法。我應該能夠採用我們的方法來處理$ http。只是認爲會有辦法做到這一點。啓動一個沒有其他影響的請求。火和忘記。似乎有一種方法可以做到這一點,這不是太侵擾。 –