2014-09-01 98 views
0

我是cakephp的新手。我正在使用cakephp版本2.3。有問題使用Ajax自動更新標籤,它只是不工作。CakePHP AJAX不更新div標籤

這裏是我的CustomersController.php

public $helpers = array('Html', 'Form', 'Js'); 
public $components = array('Session', 'Paginator', 'RequestHandler'); 
public function index() { 
    $this->set('data', 'initial-value'); 
} 
public function updatedata() { 
    $this->set('data', 'updated-value'); 
} 

這裏是我的index.ctp

<h2>Customers</h2> 
<div id="latestvalue"><?php echo $data; ?></div> 

<script> 
    $(document).ready(function() { 
     alert('start'); 
     getvalue(); 
     alert('end'); 
    }); 
    function getvalue() { 
     $.ajax({ 
      dataType: 'html', 
      url: "/customers/updatedata", 
      cache: false, 
      success: function(data){ 
       $('#latestvalue').html(data); 
      } 
     }); 
    } 
</script> 

'開始',也顯示 '結束' 警報窗口,但<div id="latestvalue">未更新。

任何幫助表示讚賞。

+0

你是否得到正確的數據迴應.. ??只需提醒或console.log你的Ajax響應,看看它是否正確。 – 2014-09-01 10:02:20

+0

是的,我得到了'初始值',但沒有'更新值'。從顯示「開始」窗口後的邏輯流程中,div應該包含「更新值」對嗎?但它不是,在div中沒有​​改變。我在ajax中的函數(數據)中添加console.log,但是如何查看日誌? – benny0924 2014-09-01 10:33:21

+0

'success:function(data){('#latestvalue')。html(data); console.log(data); }' 之後,在使ajax調用鍵盤上的F12命中之前。這是開發人員工具。如果火狐然後看到在控制檯 - >所有選項卡,如果鉻然後看到網絡選項卡 – 2014-09-01 10:55:59

回答

0

我自己找到答案。造成的原因是我需要具有updatedata.ctp視圖,因爲我不需要視圖,所以我只是將ajax url更改爲指向我的json服務,並且它現在正在工作。