[英]joomla component with jquery and ajax error response
如果没有AJAX,我会像这样(通常在控制器中)向用户输出错误:
JError::raiseWarning( 100, JText::_('COM_EXAMPLE_EXCEED_LIMIT') ); // or: jexit(JText::_('COM_EXAMPLE_EXCEED_LIMIT'));
//then redirect them back to component
JFactory::getApplication()->redirect(JRoute::_('index.php?option=com_example'));
使用AJAX,您将无法执行此操作,因为它将无法解析发送回的任何数据(在我的情况下为json)
jQuery.ajax({
url: "index.php?option=com_example&task=add",
dataType: 'json',
data: dataString,
success: function(data){
//do stuff
}
});
理想情况下,我想使用JError::raiseWarning
因为它很漂亮。 但是不确定那是可能的,因为那是服务器端,响应是客户端端? 有任何想法吗?
您应该能够使用Java脚本将错误消息填充到id system-message-container
。 但是,如果使用覆盖,则根据模板可能会失败。
如果您确实需要类似JError的消息,则需要重新加载页面并在服务器端生成它。 但是AJAX的要点是您不必重新加载页面:-)
另请注意,不建议使用JError。 使用$app->enqueueMessage('message', 'type')
代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.