2013-03-26 4 views
0

여기 내 코드의 업데이트하기 전에 문자열을 평가 :프로토 타입이 Ajax.Updater는

new Ajax.Updater('container', url, { 
    method: "get", 
    onLoading: function() { 
     document.getElementById('container').innerHTML = "Loading..."; 
    }, 
    on200: function(response) { 
     if(response.responseText.match(/WhatImLookingFor/)) { 
      window.location = "leNewURL"; 
     } 
    }, 
    onComplete: function(response) { 
     //do other cool stuff 
    } 
}); 

난 할 노력하고있어 container 전에 응답이 업데이트 될 때 절편 및 응답의 텍스트가 WhatImLookingFor 일치하는 경우, 내가 원하는 사용자를 leNewURL으로 리디렉션합니다. 위의 코드를 사용하면 업데이트 전에는 발생하지 않지만 기발한 것처럼 보입니다. 어쨌든 업데이트가 발생하기 전에 가로 채기가 가능합니까 아니면 container을 숨기고 다른 해킹에 의존해야하고 일치가없는 경우에만 표시해야합니까?

답변

1

당신은 내가 입력 한 적은 그와 $() 유틸리티 방법으로 document.getElementById()을 교환하고 모든 포함 Ajax.Request()http://api.prototypejs.org/ajax/Ajax/Request/

new Ajax.Request(url, { 
    method: "get", 
    onLoading: function() { 
     $('container').update("Loading..."); 
    }, 
    onComplete: function(response) { 
     if(response.responseText.match(/WhatImLookingFor/)) { 
      window.location = "leNewURL"; 
     } 
     else { 
      //do other cool stuff 
      $('container').update(response.responseText); 
     } 
    } 
}); 

베이스를 사용하는 것이 좋습니다 것이라고처럼 Ajax 호출의 동작을 사용자 정의하려면 PrototypeJS의 요소 메소드

+0

나는 이것이 내가해야 할 일이라고 생각했지만, 거기에 갈고리가 있기를 바랐다. 어느쪽으로 든, 고마워. – rantsh

관련 문제