baruchyan/bitrix-ajax

Bitrix 基础 Ajax 类

1.0.1 2019-12-19 20:55 UTC

This package is auto-updated.

Last update: 2024-09-26 06:46:41 UTC


README

用于在 Bitrix 中处理 Ajax 的包。现在,您无需再连接标准交换组件或创建其副本即可进行交换。

安装

composer require baruchyan/bitrix-ajax

工作原理

为了演示该库的工作原理,让我们从 JS 文件 ajax.php 中获取示例(示例文件位于 examples 文件夹中)

$.post('ajax.php',
        {
            controller: ['app', 'ajax', 'catalog', 'params'],
            action: 'set_params',
            params: params,
        },
        function(data) {

            console.log(data);

            if(data.status){
                // your actions
                console.log(data.fields.count);
            }

        }, 'json');

在 controller 参数中,指定将继承自包中 BaseAjax 类的 Ajax 类的 namespace 部分

namespace App\Ajax\Catalog;

use Baruchyan\BitrixAjax\BaseAjax;


/**
 * Class Params
 * @package App\Ajax\Catalog
 */
class Params extends BaseAjax
{

    /**
     *  Пример Action setParams
     */
    protected function setParamsAction(): void
    {

    
        $params = $this->request->get('params');
        
        $this->setField('count', 10);

        $this->setSuccessStatus();
    }

}

如果不执行任何操作,getResponse 方法将返回一个数组

'status' => false, // статус true/ false
'message' => '', // сообщение 
'errors' => [], // массив ошибок 
'fields' => [] // массив дополнительных полей ответа

在 Params 类中,将状态设置为 true,并传递额外的 count 字段,其值为 10