如何使用FlexAjax?

问题描述 投票:0回答:1

我有一个问题。我需要向vTiger中的FelexAjax函数发出PHP请求,有人可以帮忙吗?

这是我的代码:MenuReorder.php

class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {

    public function process(Vtiger_Request $request) {
        $adb = \PearDatabase::getInstance();
        $modules = \FlexSuite\VtUtils::getEntityModules(true);
        echo json_encode($modules);
    }

    public function validateRequest(Vtiger_Request $request) {
        $request->validateWriteAccess();
    }
}

这是我的代码:MenuEditor.js

$( document ).ready(function() {

    FlexAjax("FlexSuite").postSettingsAction("MenuReorder", { parameter1:value1 }, "json").then(function(response) {
        var RecordLabel = response.label;
    });

});
php document vtiger vtigercrm ready
1个回答
1
投票

使用以下代码:PHP方面:

class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {

    public function checkPermission(Vtiger_Request $request)        {
        $currentUser = Users_Record_Model::getCurrentUserModel();
        if(!$currentUser->isAdminUser()) {
            throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
        }
    }

    public function process(Vtiger_Request $request) {
        $adb = \PearDatabase::getInstance();
        $modules = \FlexSuite\VtUtils::getEntityModules(true);
        $response = new Vtiger_Response();
        $response->setResult($modules);
        $response->emit();
    }

}

Java脚本代码:

$( document ).ready(function() {
    params = {
        data: {
            module: 'FlexSuite',
            parent: 'Settings',
            action: 'MenuReorder',
        }
    };
    app.helper.showProgress();
    app.request.post(params).then(function(error, data) {
        app.helper.hideProgress();
        if(error === null) {
            var RecordLabel = data.label;
            app.helper.showSuccessNotification({message: RecordLabel});
        }
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.