Php 当ajax中发生错误时,如何重定向到自定义Joomla错误代码页?
这个问题对joomla来说有点特殊 我已经在/template/MY_template/error.php中创建了自定义错误页面error.php。该文件检查错误代码,并为我设置的每个http代码显示不同的消息(我使用$This->error->code==“404”)进行检查。通常情况下,这种方法效果很好 现在的问题是,当我使用ajax时,我应该如何处理同样的事情?当我在发生错误时调用ajax时,我会返回http状态代码,响应是error.php文件输出。当我遇到错误时,我想将用户重定向到error.php(自定义错误页面),并使用正确的错误代码,这将相应地显示消息 情景: -我请求对一个带有任务(com_greatsuff)的组件进行ajax调用,该任务执行一些webservice调用,以根据提供的itemcode获取内容列表。如果在webservice上找不到itemcode,它将返回404错误(还有许多其他自定义错误代码)。如果它不是ajax调用,则在我引发错误(JError::raiseError)并显示自定义错误页面时工作良好。但在ajax调用中,它将返回http状态(404),但我需要使用正确的http头从javascript重定向。 谢谢 Tanmay这可能有助于:Php 当ajax中发生错误时,如何重定向到自定义Joomla错误代码页?,php,jquery,ajax,joomla,Php,Jquery,Ajax,Joomla,这个问题对joomla来说有点特殊 我已经在/template/MY_template/error.php中创建了自定义错误页面error.php。该文件检查错误代码,并为我设置的每个http代码显示不同的消息(我使用$This->error->code==“404”)进行检查。通常情况下,这种方法效果很好 现在的问题是,当我使用ajax时,我应该如何处理同样的事情?当我在发生错误时调用ajax时,我会返回http状态代码,响应是error.php文件输出。当我遇到错误时,我想将用户重定向到er
- 我的主要目的是根据错误代码(404403500…)向用户显示自定义错误页面
- 现在,当ajax失败并返回特定的错误代码(404403500…)时,它还会返回完整的自定义错误页面,如我的问题中所讨论的
- 我抓取了完整的HTML页面,并用它替换了当前页面
- 好的,在考虑了各种逻辑之后,我应用了以下内容。有人可能会得到帮助。。或者让我知道是否有更好的解决方案
谢谢你的回复。我已经创建了自定义错误页面,它可以很好地处理404或任何其他错误代码。但我并不担心对ajax调用应用重定向。让我们用我所面临的场景来更新这个问题。你能在下面指导我的实现吗。Thanks@jtanmay:您的ajax代码似乎很好,有什么问题吗?感谢您的回复,ajax代码工作正常,并显示错误页面。我只是担心我是否做错了什么,或者是否有更好的方法。但是谢谢你的评论。我将自己的答案标记为已接受。@任何人都可以向我寻求指导!!谢谢
$.ajax({
url: 'index.php?option=com_test&task=listdata&no_html=1',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
}
failure: function(data){
document.write("");
document.close();
document.write(data.responseText);
document.close();
}
});