2014-11-20 3 views
0

나는 웹 사이트의 모든 데이터를 스크랩하기 위해 크롤러에서 작업 중입니다. 페이지 매김에 아약스를 사용합니다. 페이지 번호의 href에서 이것을 발견했습니다.dojo에서 ajax 요청을 찾았습니다.

javascript:dojo.publish("showResultsForPageNumber",[{pageNumber:"4",pageSize:"15", linkId:"WC_SearchBasedNavigationResults_pagination_link_4_categoryResults"}]) 

여기 무슨 일입니까? 나는이 도장을 알지 못한다. 어느 누구도 페이지 스크립트를 포함한 모든 데이터를 스크랩 할 수 있도록 해당 서버 스크립트를 찾을 수 있습니까?

update#1 

콘솔에서 나는이가 리디렉션 코드입니다 enter image description here

을 발견했다.

showResultsPage:function(data){ 

      var pageNumber = data['pageNumber']; 
      var pageSize = data['pageSize']; 
      pageNumber = dojo.number.parse(pageNumber); 
      pageSize = dojo.number.parse(pageSize); 

      setCurrentId(data["linkId"]); 

      if(!submitRequest()){ 
       return; 
      } 

      console.debug(wc.render.getContextById('searchBasedNavigation_context').properties); //line 773 
      var beginIndex = pageSize * (pageNumber - 1); 
      cursor_wait(); 


      wc.render.updateContext('searchBasedNavigation_context', {"productBeginIndex": beginIndex,"resultType":"products"}); 
      this.updateHistory(); 
      MessageHelper.hideAndClearMessage(); 
     }, 

답변

1

이는 Dojo 프레임 워크의 게시자/가입자 부분의 일부와 실행 AJAX 요청에 대해 아무 말도하지 않습니다.

게시자/구독자 패턴에 익숙하지 않은 경우 먼저 설명해 보겠습니다. 응용 프로그램의 특정 구성 요소/부분을 분리하려면이 패턴이 일반적으로 사용됩니다.

누군가는 정보를 게시하고 다른 쪽 (예 : 응용 프로그램의 다른 부분)에서 누군가가 정보를 듣습니다. 이 경우

는, 다음과 같은 데이터를 게시 (= 두 번째 매개 변수) : 분명히

[{ 
    pageNumber: "4", 
    pageSize: "15", 
    linkId: "WC_SearchBasedNavigationResults_pagination_link_4_categoryResults" 
}] 

아닌 응용 프로그램의 모든 가입자가이 데이터에 대해 알아야 할, 그래서 주제 시스템은이 경우에, 거기에 데이터는 "showResultsForPageNumber" (= 첫 번째 매개 변수)이라는 주제로 게시됩니다.

다음에 수행 할 작업을 알기 위해서는 해당 주제에 가입 한 사람의 코드를 살펴 봐야합니다. 그 다음에 무슨 일 당신을 말할 것이다로서, dojo.subscribe("showResultsForPageNumber" :

dojo.subscribe("showResultsForPageNumber", function(data) { 
    // Does something with the data, perhaps an AJAX call? 
}); 

같은 뭔가를 코드에서 보면, 귀하의 질문에 대답 : 그래서 어딘가에 코드에서이 같은 것을 찾을 수 있습니다.

그러나 AJAX 통화에만 관심이있는 경우 Google 크롬/Mozilla Firefox /를 사용하는 경우 네트워크 요청을 확인하는 것이 더 쉬울 것입니다 ... F12 키를 사용할 수 있습니다 개발자 도구를 연 다음 네트워크 탭을 선택하고 필요한 경우 활성화하십시오. 이제 페이지 매김 컨트롤을 클릭하면 모든 네트워크 트래픽 및 요청 + 응답 데이터의 로그가 표시됩니다.

+0

내 업데이트 문제를 살펴보고 좀 도와주세요 수 있을까? – DharanBro

+0

@DharanBro 글쎄, 잘 모르겠다. 디버그를해야한다. 나는'wc.render.updateContext()'가 내용을 검색한다고 가정하지만 이것은 사용자 정의 코드이므로 잘 모른다. – g00glen00b

+0

'wc.render.updateContext()'는 IBM WebSphere Commerce AJAX 호출입니다 (http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.aurora-starterstore.doc 참조)./refs/rsmmadisonwcrupdatecontext_dup.htm? lang = ko) – rasmusm

0

여기서 "showResultsForPageNumber"라는 이름의 주제를 게시합니다. 여기서 "pageNumber", "pageSize", "linkId"는 인수 배열의 객체 속성입니다.

링크를 참조하십시오 : ref1ref2

관련 문제