filsh/yii2-mpjax

多 pjax + backbone.js 实现

安装: 28

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

类型:yii2-extension

dev-master 2015-07-07 16:00 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:39 UTC


README

多 pjax + backbone.js 实现

安装

安装此扩展的首选方式是通过 composer。

运行以下命令:

php composer.phar require --prefer-dist filsh/yii2-mpjax "*"

或者将以下内容添加到您的 composer.json 文件的 require 部分:

"filsh/yii2-mpjax": "*"

使用

```

$this->beginMpjax('header');
    echo '<div>header</div>';
$this->endMpjax();

$this->beginMpjax('body');
    echo '<div>body</div>';
$this->endMpjax();
Backbone.Mpjax = {
    Router: Backbone.Router.extend({
        navigate: function (fragment, options) {
            this.trigger('mpjax:start', fragment);
            Backbone.Router.prototype.navigate.apply(this, [fragment, options]);

            var self = this;
            $.ajax({
                url: fragment,
                beforeSend: function (xhr) {
                    xhr.setRequestHeader('X-PJAX', 'true');
                    xhr.setRequestHeader('X-PJAX-Container-0', 'header');
                    xhr.setRequestHeader('X-PJAX-Container-1', 'body');
                },
                success: function (data) {
                    //  Object { header="<div>header</div>",  body="<div>body</div>"}
                    self.trigger('mpjax:success');
                },
                error: function () {
                    self.trigger('mpjax:error');
                }
            });
        }
    })
};

var Router = Backbone.Mpjax.Router.extend({
  routes: {
    "test": "test"
  },

  test: function(){
    console.log("Test!");
  }
});