2009-12-28 3 views
2

자바 스크립트 응용 프로그램에서 요청이 어디에서 발생했는지 어떻게 알 수 있습니까?페이지에서 HTTP 요청의 출처 찾기

어딘가에 잘못된 HTTP 요청을 생성하는 대형 응용 프로그램을 디버깅하고 있습니다. 요청을 생성하는 API (Google지도)를 사용하여 제대로 구성하지 않았다고 생각합니다. 요청이 어디에서 발생했는지 파악할 수 있다면 URL 구성으로 되돌아 가서 올바른 매개 변수를 설정해야하는 위치를 확인할 수 있습니다.

요청이 이루어진 시점에서 (Firebug 또는 기타 기능이있는 Safari/Chrome/Firefox에서) 깨지는 것이 가능합니까?

답변

4

방화범에는 XmlHttpRequest을 만들었을 때 휴식을 취할 수있는 새로운 기능이 있습니다. 중, 다음 네트워크 이벤트

  1. 브레이크 디버거에서 중단하는 경우 :

    • Break-on-XHR : 그런 다음 발신자가 누구인지 확인하기 위해 스택을 검사 할 수 있습니다 파란색 계속 단추를 클릭하거나 페이지를 다시로드하십시오.

    • Firebug Net 패널 선택
    • 방화범이 요청에 의해 만들어지는 경우에 XHR 이벤트

에 중단됩니다 XHR에이 버튼 방학을 클릭() 버튼을 다음에 브레이크를 클릭하거나 일시 정지 (이미지 태그 삽입과 같은) 일반적인 DOM 조작 방법은 DOM이 변경 될 때 중단 될 수 있습니다.

.

방화범에 중단 점 설정하는 다른 방법의 몇 :

debugger; 
  • 스크립트 탭을 열고 원하는 라인을 선택

    :

    • 삽입 코드로이 break 문 휴식 시간 :

  • +0

    XHR 차단이 좋은 생각 이었지만 요청이 HTML 하위 탭에 있음이 밝혀졌습니다. XHR 하부 탭이 아닌 '인터넷'. Grepping은 앞으로 나아갈 수있는 유일한 방법 인 것 같습니다. – eaubin

    +0

    실제로 Firebug 1.5 베타에는 Tracing 확장/NET_EVENTS가 켜져 있어야합니다. – eaubin

    1

    좋은 플러그인을 찾고 있다면 Tamper Data (Firefox 용)이 정말 유용 할 것입니다. '조작'을 시작하면 다양한 속성의 값을 비롯하여 모든 HTTP POST 세부 정보를 표시하는 메시지 상자가 표시됩니다.

    3

    각 요청마다 중단되도록 구성 할 수 있는지 확실하지 않지만 FireBug에서 모든 수신 요청 목록을 보려면 NetConsole (ajax 용) 탭을 사용할 수 있습니다.

    관련 문제