我正在尝试编辑示例Joomla3模块,以显示带有重音的字符和其他字符。该模块的工作原理如下:进入表单,填写任意文本,然后单击“发送”按钮。嵌入的文本显示在模块的底部。该模块正在工作,但当您输入例如文本:“ř检测”时,只会显示:“检测”。您能建议一下如何修改代码以显示带有重音和特殊字符的字符吗?
可能需要编辑文件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“也存在同样的问题(不显示重音字符或特殊字符)。
谢谢。
发布于 2015-12-31 21:34:30
@miguelmpn感谢您的评论。您说得对,Joomla com_ajax/ajax.php正在剥离特殊字符。有必要修改模块文件helper.php中的代码
而不是原始的:
$data = $input-> get('data');使用:
$data = $input-> get('data', '', 'RAW');一切都已经井然有序了。谢谢。
https://stackoverflow.com/questions/34532225
复制相似问题