2013-10-24 1 views
0

저는 아직 CakePhp에 익숙하지 않으므로 아무 것도 남기지 않으면 알려주세요. 아약스를 사용하여 컨트롤러에 다시 게시하는 양식을 만들려고합니다.CakePhp 및 jQuery가 작동하지 않습니다.

모델 : EventExampleModel

class EventExampleModel extends AppModel { 

} 

보기 : EventExampleController :

class EventExampleController extends Controller { 
    public $helpers = array('Html', 'Form'); 
    public function index() { 
     $this->layout = 'homePage'; 
    } 
    public function save() { 

     if ($this->request->is('ajax')) { 
      $this->render('contact-ajax-response', 'ajax'); 
     } 
    } 
} 

<?php 

$data = $this->Js->get('#CommentSaveForm')->serializeForm(array('isForm' => true, 'inline' => true)); 
$this->Js->get('#CommentSaveForm')->event(
    'submit', 
    $this->Js->request(
     array('action' => 'save'), 
     array(
      'update' => '#commentStatus', 
      'data' => $data, 
      'async' => true, 
      'dataExpression'=>true, 
      'method' => 'POST' 
     ) 
    ) 
); 
echo $this->Form->create('Commenter', array('action' => 'save', 'default' => false)); 
echo $this->Form->input('Commenter.comments_name'); 
echo $this->Form->input('Commenter.comments_text'); 
echo $this->Form->end(__('Submit')); 
echo $this->Js->writeBuffer(); 

?> 

<div id="contactStatus"> 


</div> 

컨트롤러 /app/View/EventExample/index.ctp을 여기에 내가 무엇을 가지고 내 레이아웃 :

<?php 
$cakeDescription = __d('cake_dev', 'Employee Database'); 
?> 
<!DOCTYPE html> 
<html> 
<head> 

    <title> 
     <?php echo $cakeDescription ?> 
    </title> 
    <?php 
    echo $this->Html->meta('icon'); 
    echo $this->Html->css('styles'); 
    echo $this->fetch('meta'); 
    echo $this->fetch('script'); 
    echo $this->Html->script('jquery-1.10.2.js'); // Include jQuery library 
    echo $this->Html->script('myScripts'); 
    ?> 
</head> 
<body> 
<div class="homepage-container"> 
    <div id="content"> 
     <?php echo $this->fetch('content'); ?> 
    </div> 
    <div id="footer"> 

    </div> 
</div> 
</body> 
</html> 

또한 app/webroot/js 폴더에 jquery 라이브러리가 있습니다.

문제는 페이지가 렌더링되고 제출 버튼을 클릭해도 아무런 문제가 발생하지 않는다는 것입니다. 페이지 또는 콘솔에 오류가 표시되지 않으며 페이지가 다시 게시되지 않습니다. 내가 뭘 놓치고 있니? 페이지가 비동기 적으로 서버에 다시 게시되고 내 저장 함수가 호출되어야합니다 (중단 점에 도달하지 않습니다).

아무도 도와 줄 수 있습니까?

답변

1

귀하의 모델 이름은 권리 협약은

EventExample extends AppModel 

와 파일 이름 EventExample.php

그냥 끝입니다

잘못된 것입니다.

Google 크롬에서 방화 쇠 또는 이와 유사한 도구를 열고 네트워크 탭을 확인하십시오. 버튼을 클릭 할 때 무언가가 실행되는지 확인하십시오.

+0

안녕하세요. 응답 해 주셔서 감사합니다. 제안 된대로 모델을 변경했습니다. 그러나 버튼을 클릭해도 아무 일도 일어나지 않습니다. 나는 심지어 개발자 도구를 열어서 Network 탭을 보았고 아무것도 없다. 제가 누락 된 부분에 대한 제안이 있습니까? – jason

관련 문제