문제

나는 케이크 포프 검색 양식을 가지고 있습니다 'type'=>'get'. 기본적으로 양식의 요소 중 하나는 유형 이미지의 제출 버튼입니다. 양식이 게시되면 URL에서 항상 이미지 제출 버튼의 X & Y 좌표를 가져옵니다.

http://site.com/controller/action?x = 22 & y = 36& query = 안녕하세요

좌표가 URL에 나타나는 것을 방지 할 수있는 방법이 있습니까? 그 이유는 다른 사람이 동일한 URL을 사용하여 링크에 직관적이지 않은 것들없이 동일한 검색을 수행 할 수 있기 때문입니다.

감사!

도움이 되었습니까?

해결책

버튼에서 일부 JavaScript를 사용할 수 있습니다.

document.getElementById('myImageButton').onclick = function() {
    this.form.submit();
    return false;
};

또는 컨트롤러에서 beforeFilter 함수, 원치 않는 변수가 있는지 확인하고 제거하고 멋진 URL로 리디렉션 할 수 있습니다. 이것은 2 개의 HTTP 요청이있을 것임을 의미합니다.

다른 팁

당신이하고 싶은 것 같네요 게시/리디렉션/get.

CakePhp 에서이 작업을 수행하는 두 가지 예는 다음과 같습니다.

리디렉션의 장점 a POST a GET 요청은 다음과 같습니다.

  1. 사용자는 "다시 제출하고 싶습니까?"를 얻지 못합니다. 상쾌한 경우 대화
  2. 결과 페이지/쿼리를 북마크 할 수 있습니다
  3. CakePHP의 내장 SEF 라우팅을 활용할 수 있으므로 URL 대신 /search?q=contact 당신은 얻을 수 있습니다 /search/contact

사용하는 대신 submit 도우미 기능, 사용 button 제출할 기능 및 설정 버튼 유형.

echo $this->Form->**button**($this->Html->image('header_search_icon.png'), array(**'type'=>'submit'**));
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top