URL을 업데이트하려면 301/302를 클릭하십시오.
당신은 어떤 용례를 원합니까?
묘사
서버에서 pjax의 방향을 바꾸는 등효 방법은 HTML 세션으로 응답하는 것이지만토론 #1
응답 헤더는 브라우저가 업데이트할 URL로 설정하여 pjax가 요청한 URL과 다르지 않도록 합니다.토론 #2
최종 사용X-PJAX-URL
으로 URL을 업데이트하는 게 어때요?토론 #셋
2014년 10월 14일 화요일 오후 3:21, Maxime [email protected]쓰기:
What about eventually updating the url using ?
Probably not. That doesn't seem like the intended use of
rel=canonical
. The canonical reference is to indicate to the user agent or a bot that "Hey, altough this document is at the current URL, its main representation is on this other URL. Just so you know."
<link rel="canonical">
What use case do you have in mind?
우리는 지금 한 응용 프로그램에서 같은 문제에 부딪혔다.예:
사용자는 "+"단추를 누르면 차량을 만들 수 있습니다.차량을 만들 때, 우리는 사용자에게 가능한 모든 옵션을 표시하지 않습니다. 왜냐하면 일부 사용자에게 우리는 차량 id를 먼저 표시하기 때문입니다.이것은validation+submit 이후에 사용자를 다시 상세한 보기로 바꾸는 이유입니다. 이 보기는 이 차의 모든 사용 가능한 기능을 보여 줍니다.
따라서 실제로 우리는 제출한 데이터를 데이터베이스에 저장한 다음에 클라이언트를 세부적인 조작으로 바꾼다. (코드의 재사용이 매우 나쁘다고 말할 수 있다.)
폼 제출은 pjax로 처리되기 때문에, 리셋 기능이 필요합니다.나는 지금
토론 #4
방법을 시험해 보겠다.토론 #5
구체적인 질문은 다음과 같습니다.Appe Iphone 5s
삼성 갤럭시S5
삼성 갤럭시S5는/device name/애플 아이폰 5s로 바로 넘어가야 하기 때문에 운영체제가 있을 수 있기 때문에 애플 아이폰 5s에 운영체제가 있다면 301을 URL/장치 이름/os/로 바꿀 것이다.
물론 이것은 먼저 정확한 링크를 인쇄해서 해결할 수 있지만, 그 중 일부 내용이 영구적으로 이동된 다른 사용 사례도 있을 수 있다.그러면 URL을 업데이트해야 의미가 있습니다. 왜냐하면 표시된 내용은 실제적으로 URL과 대응하는 내용이 아니기 때문입니다.
나는 이 문제가 pjax가 해결해야 할 문제가 아닐 수도 있다는 것을 알고 있지만, 나는 개인적으로 네가 좀 고려해야 한다고 생각한다.사람들이 이 플러그인을 사용하는 것은 백엔드 개발자의 완벽한 도구이기 때문이다.그들은 단지 자신의 백엔드가neet의 5-10줄 jquery 플러그인을 통해 백엔드에 반영되기를 원할 뿐이다.
X-PJAX-URL
나는 우리가 모두 같은 페이지에 있는지 확실하지 않지만, 나는 단지 aax와 방향을 바꾸는 일반적인 문제를 다시 한 번 설명하고 싶다.1. aax 요청
토론 #6
URL2. 서버 프로세스
토론 #7
및 30x 리디렉션/foo
3. aax 자동 추적 리디렉션, HTML 응답 수신/foo
4.aax 응답에서 30배의 리디렉션이 발생했거나 최종 URL이 무엇인지 감지할 수 없습니다pjax는 aax를 사용하여 이루어진 것이기 때문에 우리는 방향을 바꾸는 데도 같은 문제에 부딪힐 수 있다.현재 우리가 제시할 수 있는 유일한 해결 방안은 pjax가 이 값을 읽고 URL을 업데이트할 수 있도록 서버 설정
/bar
응답 헤더입니다. 이것은 자술 파일에 제안된 것입니다.따라서 HTML 응답과 현재 URL을 HTML 응답 /bar
헤더로 마지막으로 보내면 괜찮을 것입니다.또 질문 있으신가요?
X-PJAX-URL
(jQuery에 사용할 쿠키 플러그인을 다운로드하십시오.이것은 광고가 아닙니다.https://github.com/carhartl/jquery-cookie/blob/master/src/jquery.cookie.js )
JS:
$(document).on('pjax:end', function(event, xhr, options){
Redirect();
});
function Redirect(){
let redirect = $.cookie('redirect');
if(redirect !== location.pathname){
history.pushState(null, null, redirect);
$.cookie('redirect',null,{expires:-99999})
}
}
PHP:
$link_to_redirect = '/link/to/redirect';
setcookie('redirect', $link_to_redirect, 0, '/', null, false, false);
header("Location: {$link_to_redirect}");
X-PJAX-URL
#pjax 컨테이너 블록의 템플릿 파일에 추가<div class="hide" style="display:none" id="current-url"><?php print $_SERVER['REQUEST_URI'] ?></div>
및 jQuery:
$(document).on('pjax:end', function(event, xhr, options){
let current_url = $('#current-url').text();
if(current_url !== location.pathname){
history.pushState(null, null, current_url);
}
});
Reference
이 문제에 관하여(URL을 업데이트하려면 301/302를 클릭하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/defunkt/jquery-pjax/issues/426텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)