繁体   English   中英

Joomla3模块Ajax-显示带重音符号的字符

[英]Joomla3 module ajax - display accented characters

我正在尝试编辑示例Joomla3模块,以显示带有重音符号和其他字符的字符。 该模块的工作方式如下:在表单中,填写任何文本,然后单击“发送”按钮。 嵌入的文本出现在模块的底部。 该模块正在运行,但是当您输入例如以下文本时:“řecký”仅出现:“ eck”。 您能否建议某人如何修改代码以显示带有重音和特殊字符的字符?

这是“ Ajax Hello World模块 ”。

可能需要编辑文件mod_hello_ajax_world.php:

<?php defined('_JEXEC') or die;

// Include the helper.
require_once __DIR__ . '/helper.php';

// Instantiate global document object
$doc = JFactory::getDocument();

$js = <<<JS
(function ($) {
    $(document).on('click', 'input[type=submit]', function () {
        var value   = $('input[name=data]').val(),
            request = {
                    'option' : 'com_ajax',
                    'module' : 'hello_ajax_world',
                    'data'   : value,
                    'format' : 'raw'
                };
        $.ajax({
            type   : 'POST',
            data   : request,
            success: function (response) {
                $('.status').html(response);
            }
        });
        return false;
    });
})(jQuery)
JS;

$doc->addScriptDeclaration($js);

require JModuleHelper::getLayoutPath('mod_hello_ajax_world');

演示模块“ Ajax-Session-Module ”中也存在相同的问题(不显示带重音符号或特殊字符)。

谢谢。

@miguelmpn谢谢您的评论。 没错,Joomla com_ajax / ajax.php正在剥离特殊字符。 必须修改模块文件helper.php中的代码

而不是原始的:

$data = $input-> get('data');

采用:

$data = $input-> get('data', '', 'RAW');

而且一切都井井有条。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM