zend_dojoでajaxの非同期通信

  1. zend_dojoでヘッダーを吐き出す。
  2. dojo.xhrPost(config)の起動
  3. ビューのレンダリングを解除したアクションに接続
  4. データを受け取り表示する

1.zend_dojoでヘッダーを吐き出す。
    $view = $this->view;
        //Zend_Dojoのビューヘルパを有効にする (1)
        Zend_Dojo::enableView($view);

        //Zend_Dojoを設定する (2)
        $dojo = $view->dojo();
        $dojo->setLocalPath(‘/js/dojo/dojo.js’);
       
        //テーマの登録
        $dojo->addStyleSheetModule(‘dijit.themes.tundra’);
        $this->view->assign(‘isDojo’, “true”);

2.dojo.xhrPost(config)の起動
<script type=”text/javascript”><!–

function handleLoad(response, ioArgs) {
    if (response !== undefined) {
        dojo.byId(“twitter0Name”).innerHTML = response[0].data;
    }
}
function xhr() {
    config = {
        url: “http://test.com/dojo/data/”,
        postData: “testdata”,
        load: handleLoad,  // XHR通信成功時
        //error: handleError,  // XHR通信失敗時
        handleAs: “json” // レスポンスをJSONとして扱う
    }
    dojo.xhrPost(config);
}
   
dojo.addOnLoad(
    function() {
        timerID = setInterval(“xhr()”,10*1000);
    }
);
// –></script>

3.ビューのレンダリングを解除したアクションに接続
//ビューを使用しない
$this->_helper->autoCompleteDojo->disableLayouts();

print(json_encode($data));

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です