2016-06-09 7 views
1

내가 컨트롤러 내에 중첩 각도 지시 요소가 "주 스레드에서 동기 XMLHttpRequest를이되지 않습니다"나는 때문에 해로운로 사용되지 않습니다이 메시지가 메인 스레드에각도 지시어는

동기 XMLHttpRequest를 얻을 얻는다 최종 사용자의 경험에 미치는 영향. 도움이 필요하면 https://xhr.spec.whatwg.org/을 확인하십시오. 경고 : 각도를 두 번 이상로드하려고 시도했습니다.

나는 그것이 다소 의미하는 것을 다소 이해하지만이 문제의 원인을 알지 못합니다. 여기에 내가 가진 무엇 :

audio.html

<div class="audio-top-bar" ng-controller="AudioController"> 
    <div class="audio-tuner-button" ng-click="displayTunerModal()"> 
      <button class="btn"> 
       <p class="audio-tuner-type">{{tunerButton}}</p> 
      </button> 
    </div> 
    <display-tuner-modal ng-show="visibility"></display-tuner-modal> 
</div> 

AudioController.js

angular.module('app').controller('AudioController', ['$scope', 'TunerService', function($scope, TunerService){ 
    $scope.visibility = false; 

    if ($scope.tunerButton == (null || undefined)) 
     $scope.tunerButton = 'FM'; 
    $scope.displayTunerModal = function(){ 
     $scope.visibility = true; 
    }; 
}]); 

displayTunerModal.js

angular.module('app').directive('displayTunerModal', ['TunerService' , function (TunerService){ 

    return { 
     restrict: 'E', 
     link: function(scope, elem, attrs){ 
      scope.displayTunerModal = function(){ 
       console.log("CLICKED"); 
      }; 
     }, 
     templateUrl: 'public/templates/displayScreenModal.html' 
    }; 
}]); 
+1

표시된 코드에는 XMLHttpRequest로 알려진 ajax와 아무런 관련이 없습니다. – charlietfl

+0

문제는 링크의 이름이 잘못되어있는 것처럼 간단합니다. 나는 "displayTunerModal.html"을 가져야했다. –

답변

0

불편을 끼쳐 드려 죄송합니다. 해당 링크의 이름이 잘못되어있는 것처럼 간단합니다. 나는 "displayTunerModal.html"을 가져야했다.

이야기의 도덕적 인 부분 : 링크를 확인하십시오. 내 지역 환경에 이런 오류가없는 동안

0

this question 당으로 내 생산 서버에 AngularJS와 지시어에 같은 Synchronous XMLHttpRequest on the main thread is deprecated했다.

  • AngularJS와 (내 상황에서 지침) 낙타 표기법으로 지명되었다 소문자 mytemplate.tmpl.html
  • 템플릿 파일을 요청 :이 내 경우

    은 JS 요청 대 템플릿 이름의 경우 불일치에 기인 : 이 문제를 혼동 무엇 myTemplate.tmpl.html

는 지시/템플릿 (때문에 OSX case-insensitivity에) 맥에 잘 일이었다 - 그러나 Linux case-sensitive AWS 프로에 푸시 할 때 실패 duction 서버.

템플릿 파일 이름을 소문자로 변경하면 문제가 해결되었습니다.

위의 설명 중 하나에서 언급했듯이 AJAX 오류는 단순히 파일이 "누락 됨"이 아니라 특정 호출에 문제가 있음을 의미하므로 오해의 소지가 있습니다.

+1

여러 질문에 [동일한 답변] (http://stackoverflow.com/a/42128191/5292302)을 추가하지 마십시오. 가장 좋은 답변을하고 나머지는 중복으로 표시하십시오. [여러 가지 질문에 중복 답변을 추가해도됩니까?] (http://meta.stackexchange.com/questions/104227/is-it-acceptable-to-add-a-duplica te-answer-to- 몇 가지 질문) –

+0

@PetterFriberg 전화하기 전에 두 질문을 읽고 이해하십시오.그것들은 중복 질문이 아니기 때문에 그렇게 표시 할 수 없습니다. 이 질문은 두 가지 질문에 모두 해결책을 제시하므로 혼란스러운 코딩 버그입니다 (잘못된 단어/오도 된 오류 메시지와 함께). 또한 본인의 대답의 질문을이 대답에 연결했습니다 (투명성과 유용성을 위해). – goredwards

관련 문제