Поэтому я пытался создать что-то, что будет динамически извлекать данные из SalesForce и отображать их в моем угловом приложении. Я создал функцию .factory ниже:
app.factory('getDocuments', ['$q','$rootScope', function($q, $rootScope){
return function (inputString) {
var deferred = $q.defer();
Visualforce.remoting.Manager.invokeAction(
'FO_Manager.getDocuments',
inputString,
function(result, event){
$rootScope.$apply(function(){
if(event.status) {
deferred.resolve(result);
} else {
deferred.reject(event);
}
})
},
{buffer: true, escape: true, timeout: 30000}
);
return deferred.promise;
}}]);
Он отлично работает, если я запускаю его в контроллере, когда страница загружается getDocuments('a0N17000001NxjO').then(function(result){$scope.documents = result;},
function(error){$scope.error = result;});
Проблема возникает, когда я пытаюсь запустить ее в своей директиве динамически
app.directive('foSidenav',['getDocuments', function(getDocuments){
function linker($scope, element, attrs){
$scope.selectDocType = function(id)
{
alert('docId updated');
alert(id);
getDocuments(id).then(function(result){$scope.DocType = result;},
function(error){$scope.error = result;});
};
}
return{
restrict: 'E',
replace: true,
scope: {
info:'=',
DocType:'='
},
templateUrl:function(element,attr){
return attr.url;
},
link:linker
};}]);
Теперь проблема в том, что когда я запускаю этот код, предупреждение отображается нормально, но затем я получаю эту ошибку:
Синхронный XMLHttpRequest в основном потоке устарел из-за его вредного воздействия на работу конечного пользователя. Для получения дополнительной помощи посетите http://xhr.spec.whatwg.org/.
Любая идея, как обойти это ??
getDocuments(...)
возвращает теги<script>
? - person   schedule 05.11.2015