2012-05-19 3 views
4

아약스 요청을하고 있고 성공 콜백에서 변경 사항을 반영하도록 페이지를 새로 고침하고 싶습니다. 해당 페이지를 새로 고치는 것과 동일한 페이지에 매개 변수를 전달하려고합니다. 아래 말했듯이다시로드하는 동안 url을 통해 매개 변수를 보내려면

http://localhost:8080/details#component/12 내가 매개 변수를 추가하고있는 :

URL입니다 같은 것입니다.

window.location.href += "?code=approved"; 
window.location.reload(); 

위의 내용은 Firefox에서는 작동하지만 IE에서는 작동하지 않습니다. 여기서 도와주세요.

Chris. IE 이러한를 사용

+0

스미스, 나는 URL을 해시를 가지고 말을 잊었, 나는 질문을 업데이트했습니다. 나는 당신이 말하고자하는 것을 완전히 얻지 못한다. 나는 IE9와 개발 도구를 가지고있다. – ChrisOdney

답변

1

시도 :

window.location.reload(false); // To get page from cache 
window.location.reload(true); // To get page from server 
1

해시 문제입니다; 당신은 URL 조각 (# 뒤에있는 부분)에 데이터를 추가합니다. 조각이 서버에 전송되지 않습니다. 즉, URL이 변경되지 않으므로 페이지를 다시 요청할 필요가 없습니다. window.location.hash가 비어

var newloc = document.location.href; 
if(document.location.hash){ 
    // remove fragment 
    newloc = newloc.substr(0, newloc.indexOf(document.location.hash)); 
} 
newloc += document.location.search ? ";" : "?"; // prevent double question mark 
newloc += 'code=approved'; 
// append fragment back to url 
1

경우, 새 값을 같이 location.href에 할당 어차피 :

이 같은 것을보십시오), 브라우저에서 URL로 '#some_text'을 추가 수동으로 시도하고 무슨 일이 일어 나는지 올바른 기능을 사용하지 않고 (적어도 크롬에서 테스트 됨).

window.location.replace 시도 :

if (!window.location.hash) 
    { 
     window.location.replace(window.location.href + "?code=approved") 
    } 
관련 문제