[英]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.