2012-04-23 51 views
0

這是我的js代碼。無法僅接收來自JQuery的JSON ajax調用

.... 
var arrayData = {"projectId": projectId, "stateId":stateId}; 
$.ajax({ 
       type: "GET", 
       contentType: "application/json; charset=utf-8", 
       url: "/bidboldly/projects/editproject/",     
       data: arrayData, 
       success : function(response) {        
        alert(response);    
       }, 
       error: function(){ 
        alert("error"); 
       } 
      }) 

服務器端。

$city = $this->City->find('list',array('conditions' =>array('City.status'=>1, 'City.state_id'=>$this->params['url']['stateId']),'fields'=>array('City.id','City.city'),'order'=>array('City.city ASC'))); 
      echo json_encode($city); 

之後,在客戶端我收到了城市列表+ html。像這樣的東西。

..."Young America" [20292]=> string(10) "Zanesville" } <html><head>...... 

爲什麼要傳輸HTML?

+0

您的迴音後添加退出:) – jantimon 2012-04-23 22:37:43

+0

你還在劇本中做什麼?您是否使用將模板中的任何輸出放入模板的框架? ''年輕美國人'[20292] =>字符串(10)「Zanesville」}'看起來並不像JSON(更像'var_dump')。 – 2012-04-23 22:40:14

+0

@Ghommey你在開玩笑嗎? :) – emilan 2012-04-23 22:40:23

回答

1

本文http://book.cakephp.org/1.1/view/316/Helpers說,你應該使用AJAX渲染布局:

$this->layout = "ajax"; 

另一個整版Ajax和蛋糕PHP有用的文章是這個: http://ahsanity.wordpress.com/2007/02/23/get-started-with-ajax-in-cakephp/

+0

這就是爲什麼我喜歡寫我自己的fw的原因,當你知道應該怎麼做時,調試更容易。 +1挖掘那個:p – 2012-04-23 22:52:32

+0

@Sampo:那麼如果你已經和任何框架閱讀文檔,那麼你一般知道最新情況。由於您創建了該文件並且知道它並不像擁有清晰的IMO文檔那樣好 - 因爲您是唯一知道並且很可能不會總是幫助維護項目的人。還有,當我主張蛋糕的時候,我會採取這樣的態度......我不是一個粉絲......全部:-) – prodigitalson 2012-04-23 22:56:33