Blogブログ

Month: October 2013

jsonp

Ajax関連メモ。 jsonpを使った場合。 var w_jsonfile = 'http://xxxxxx.jp/hoge.php'; $.ajax({ type:"POST", url:jsonfile, dataType: "jsonp", jsonpCallback: 'callback', success:function(data){ console.log(data); }, error :function(XMLHttpRequest,textStatus){ console.log(textStatus); } }); ポイントは、jsonpの場合は、jsonpCallbackパラメータが必要。 jQuery 1.5以降はこれで戻り値を指定する様になったようだ。 詳しくは、http://api.jquery.com/jQuery.ajax/ で、hoge.phpではxmlからjsonへ変換して、上に倣ってcallback()の形で返す。 $xml = "fuga.xml"; $result = simplexml_load_file($xml); $encode = json_encode($result); header("Content-Type: text/javascript; charset=utf-8"); echo sprintf("callback(%s)",$encode); これでOK。

Common components

Cakephp 2.系でコントローラ上で使える共通関数を作ってみます。 まず、controller/Componentに、 CommonComponent.phpを作ります。 今回はデバッグ用関数を作っておきます。 <?php  class CommonComponent extends Component {     public function _d($arr){         echo "<pre>";         print_r($arr);         echo "</pre>";         exit;     } } そしてこれを、Controllerに$Componentsとして追加。       public $components = array('Common');   使いたいときに、 $this->Common->_d($array);   これで確認できます!