2012-04-23 12 views
0

ここに私のjsコードです。JQuery ajaxからJSONのみを受け取ることができません

.... 
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が転送されるのですか?

$this->layout = "ajax"; 

アヤックスとケーキPHPはこの1つであるに役立つ記事の完全な別のページ:

+0

を:) – jantimon

+0

スクリプトでは他に何をしていますか?任意の出力をテンプレートに入れるフレームワークを使用していますか? '' Young America "[20292] => string(10)" Zanesville "}'はJSONのようには見えません(さらに 'var_dump'に似ています)。 –

+0

@Ghommeyあなたは冗談ですか? :) – emilan

答えて

1

この記事http://book.cakephp.org/1.1/view/316/Helpersでは、AJAXレイアウトのレンダリング使うべきと言うあなたのエコーの後、出口を追加 http://ahsanity.wordpress.com/2007/02/23/get-started-with-ajax-in-cakephp/

+0

これは私が自分のfwを書くのが好きな理由です。何が起こっているべきかを知っていれば、デバッグはずっと簡単です。 +1を掘り下げるために+1を書いてください:p –

+0

@Sampo:もしあなたがどんなフレームワークのドキュメントを読んだり読んだりしたら、一般的に何が起こっているのかを知っています。あなたが作成したので、それを書いて知っていることは、明確な文書IMOを持っていることと同じくらい良いものではありません。あなたが知っている唯一の人であり、常にプロジェクトを維持する手助けをしているとは限りません。また、私はケーキを主張しているようにshoudnt ...私はファンではありません.. AT ALL :-) – prodigitalson

関連する問題