PHPackages                             intpp/yii-ajax-action - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. intpp/yii-ajax-action

ActiveLibrary[Framework](/categories/framework)

intpp/yii-ajax-action
=====================

Yii action for ajax methods

1.0.10(10y ago)1178BSDPHPPHP &gt;=5.3.0

Since Nov 21Pushed 10y ago1 watchersCompare

[ Source](https://github.com/intpp/yii-ajax-action)[ Packagist](https://packagist.org/packages/intpp/yii-ajax-action)[ RSS](/packages/intpp-yii-ajax-action/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (13)Used By (0)

Yii Ajax Action
===============

[](#yii-ajax-action)

#### Usage:

[](#usage)

1. Create class for ajax actions (ex.: SiteAjaxAction)

```
namespace your\namespace\here;

use intpp\yii\actions\AjaxAction;

class SiteAjaxAction extends AjaxAction
{
    /**
     * @param string $name
     * @param int $age
     * @param string $gender
     * @param array $hobbies
     */
    public function getFormattedInfo($name, $age, $gender = 'male', array $hobbies)
    {
        $this->setOutput('result', true);
        $this->setOutput('text', implode(', ', [
            'Your name is ' . $name,
            'age: ' . $age,
            'gender: ' . $gender,
            'hobbies: ' . implode(', ', $hobbies)
        ]));
    }
}
```

2. Include in your controller:

```
    public function actions()
    {
        return [
            // Other included actions
            'ajax' => 'your\namespace\here\SiteAjaxAction',
        ];
    }
```

3. Use in your JS applications:

3.1 In your view or layout file set JS variable with url to ajax action, for example:

```
    $ajaxUrl = Yii::app()->createUrl('/site/ajax');
    Yii::app()->clientScript->registerScript('ajaxUrl', "var ajaxUrl='{$ajaxUrl}';");
```

3.2 In your JS application you use that variable for ajax requests, for example:

```
    $(document).on('click', 'a#getInfo', function() {
        $.ajax({
            url: ajaxUrl,
            data: {
                method: 'getFormattedInfo', //
