繁体   English   中英

带有jQuery和Ajax错误响应的joomla组件

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

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