Cakephp : URL에서 양식 필드를 얻지 못합니다
-
21-09-2019 - |
문제
나는 케이크 포프 검색 양식을 가지고 있습니다 '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
요청은 다음과 같습니다.
- 사용자는 "다시 제출하고 싶습니까?"를 얻지 못합니다. 상쾌한 경우 대화
- 결과 페이지/쿼리를 북마크 할 수 있습니다
- CakePHP의 내장 SEF 라우팅을 활용할 수 있으므로 URL 대신
/search?q=contact
당신은 얻을 수 있습니다/search/contact
사용하는 대신 submit
도우미 기능, 사용 button
제출할 기능 및 설정 버튼 유형.
echo $this->Form->**button**($this->Html->image('header_search_icon.png'), array(**'type'=>'submit'**));
제휴하지 않습니다 StackOverflow