2017-03-11 3 views
0

죄송합니다. 여기에 간단한 내용이 누락되어 있으면 죄송합니다. CakePHP 3 및 Friendsofcake 검색 플러그인을 사용하고 AJAX로 내 결과를로드하려고합니다. URL을 어떻게 설정해야할지 모르겠다. 필자의 이해는 FormHelper url이고 AJAX url은 SecurityComponent와 일치해야한다. 그러나 그 장애인도 제출할 양식을 얻을 수 없습니다. 어떤 도움을 주셔서 감사합니다. 플러그인 그렇지 않으면 잘 작동하고 내가 잘 AJAX를 사용하여 다른 형태를 제출할 수 있습니다 - 내가 여기서 뭔가를 놓친 거지 의심 (또는 불가능 해요 - 내가 처음 프로그래머입니다) CakePHP Friendfriend Search ajax 검색 결과

<?php 
$formUrl='//'.$_SERVER['HTTP_HOST'].Router::url(['controller'=>'Treasures','action'=>'frontIndex']); 
echo $this->Form->create('Treasure',['id'=>'myForm','url'=>$formUrl]); 
echo $this->Form->input('q'); 
... (Form submit, end, etc.) 
?> 

<script> 
$("#myForm").submit(function(event) { 
    event.preventDefault(); 
    $.ajax({ 
    async:true, 
    data:$(this).serialize(), 
    dataType:"html", 
    success:function (data, textStatus) { 
     $(".ajax-result").html(data); 
    }, 
    type:"POST", 
    url:"<?=$formUrl?>" 
    }); 
</script> 

<div class="ajax-result"></div> 

누군가가 말해 줄 수

내가 무엇을해야 $ formUrl을 설정하고 있습니까? 현재이 컨트롤을 사용하여 검색 플러그인을 사용하여 데이터를 성공적으로 필터링하고 요청시 AJAX 결과를 반환하도록 뷰를 특수화했습니다. 그러나 분명히 누락 된 내용이 있습니다.

답변

0

URL을 공백으로 남겨두고 POST 대신 GET을 사용하면이 동작이 더 빨리 이루어져야합니다.

echo $this->Form->create('Treasure',['id'=>'myForm']); 
... 
?> 

<script> 
$("#myForm").submit(function(event) { 
    event.preventDefault(); 
    $.ajax({ 
    async:true, 
    data:$(this).serialize(), 
    dataType:"html", 
    success:function (data, textStatus) { 
     $(".ajax-result").html(data); 
    }, 
    type:"GET" 
    }); 
</script> 

예상대로 작동합니다. 희망이 사람을 돕는다!

관련 문제