2011-10-05 4 views
0

MVC 및 jquery를 사용하여 서버에서 함수를 가져 와서 (즉석에서 생성하고 HTML 본문에 추가하는 부분 뷰로서) 실행합니다. 이것은 잘 작동하지만 피들러에서 볼 수는 있지만 디버깅은 끔찍합니다. 나는 같은 사용 방법에 끌어 :이 모범 사례가 있는지 여부via AJAX를 통해 메소드를 가져온 후에 javascript를 디버깅합니다.

$("#makeGrid").click(function (e) { 
     $.get('/gridder/basicgrid', callbackFn); 
     function callbackFn(data) { 
      //Append markup to dom 
      $('body').append(data); 
      // call the js function from the partialview here 
      generateGrid(); 
     } 
    }); 

또는 잘 모르겠어요하지,하지만 난 경우 아약스 명령 다음에 '소스보기'코드가 표시되지 및 사용 디버거; 명령이 작동하지 않는 것 같습니다. 예 :

function generateGrid() { 
     alert("start"); 
     debugger; 
     alert("end"); 
    } 

두 개의 경고를 생성하지만 방화 광이 활성화되어 있어도 디버거를 표시하지 않습니다. 이 discussion도 비슷한 문제를 제기합니다. 일부는 디버거를 두 번 사용하여 (이 버그는 지금 사라 졌음) 또는 새 창에서 불을 켤 때 (운 없음)이를 해결하기 위해 노력했습니다. Even eval ('debugger;'); 다른 스레드의 누군가에 의해 제안되었지만 좋지 않습니다!

제안 사항? (필요한 경우 방화 other 이외의 도구를 사용하는 것을 포함하지만 피들러 스타일을 보지 않고 디버그하고 싶음)

+1

'보기 소스'는 아약스를 통해로드 된 콘텐츠를 표시하지 않습니다. Firebug 나 DOM 검사기에 내장 된 broswers를 사용하여 DOM을 검사해야합니다. –

+0

'debugger' 문을 사용하는 대신 Firebug에서 중단 점을 설정할 수 있습니까? –

+0

감사합니다들 : 다시 : DOM 검사, 아직 코드가 포함 된 요소를 찾을 수 없습니다. 그것은 실행 (내 경고가 나타납니다),하지만 예외를 throw하거나 디버거를 호출하는 모든 시도가 발생하지 않습니다. 그리고 폴, 코드를 볼 수 없으므로 불행히도 중단 점을 추가 할 수 없습니다. – Glinkot

답변

0

확실한 답이 이처럼 나오지 않는 것 같습니다. 다른 사람의 참조를 위해 다음과 같이 VS2010 자체에서 디버깅을 시작했습니다.

a) IE를 VS 기본 브라우저로 사용해야합니다. Firefox는 게임을 좋아하지 않습니다. MVC를 사용하는 경우 웹 브라우저 에서처럼 기본 브라우저 선택기가보기 등에서 나오지 않습니다. 빠른 해결책은 루트에 빈 .html 페이지를 만들고 그 놈을 마우스 오른쪽 버튼으로 클릭하여 '찾아보기 ...'를 얻고 원하는 기본 브라우저를 선택하는 것입니다. 타다.

b) 그런 다음 IE의 고급 옵션에서 'javascript 디버깅 사용 안함'옵션의 선택을 해제하십시오.

c) 이제 디버거를 사용할 수 있습니다. 명령을 사용하여 동적으로 생성 된 스크립트의 실행을 중단하십시오. VS로 돌아가서 라인을 강조 표시합니다. 그것이 생성 되었기 때문에 상단에 [동적 스크립트]라고 표시됩니다. 중단 점은 여전히 ​​성가신 일을하지 않는 것 같습니다.

d) IE에서 js 오류도 콘솔에보고됩니다. 파일을 강조 표시하는 줄 번호와 열을 제공합니다. 동적 부분 뷰를 보낸 경우 원본 페이지 파일에서이 좌표를 강조 표시합니다 (적용 할 수 없음). 오히려 VS의 "스크립트 블록 [동적]"탭에있는 동등한 좌표로 이동하십시오.

실제로 이것은 MVC 개발에 Firebug가 제공했던 것보다 더 유용 할 것입니다.

환호

관련 문제