discuz手机版发帖提示“网络出现问题,请稍后再试”
大家好,我是网创有方。今天分享一个discuz发帖报错的问题。
(图片来源网络,侵删)
问题描述:discuz手机网页端发帖提示“网络出现问题,请稍后再试”,但是实际上帖子已经发布成功。
本次记录下分析过程:
第一步:打开宝塔,找到站点文件,通过提示词搜索对应文件,查看相应代码。
var myform = document.getElementById('postform'); var formdata = new FormData(myform); $.ajax({ type:'POST', url:form.attr('action') + '&geoloc=' + postlocation + '&handlekey='+form.attr('id')+'&inajax=1', data:formdata, cache:false, contentType:false, processData:false, dataType:'xml' }) .success(function(s) { popup.open(s.lastChild.firstChild.nodeValue); }) .error(function(xhr, status, error) { console.error('AJAX请求失败:', status, error); console.error('HTTP状态码:', xhr.status); console.error('响应文本:', xhr.responseText); popup.open('网络出现问题,请稍后再试'+'status状态:'+status+'xhr.status状态:'+xhr.status+'响应文本:'+xhr.responseText, 'alert'); }); return false; }); $(document).on('click', '.del', function() { var obj = $(this); $.ajax({ type:'GET', url:'forum.php?mod=ajax&action=deleteattach&inajax=yes&aids[]=' + obj.attr('aid') + (obj.attr('up') == 1 ? '&tid=&pid=&formhash=' : ''), }) .success(function(s) { obj.closest('li').remove(); }) .error(function(xhr, status, error) { console.error('AJAX请求失败:', status, error); console.error('HTTP状态码:', xhr.status); console.error('响应文本:', xhr.responseText); popup.open('网络出现问题,请稍后再试'+'status状态:'+status+'xhr.status状态:'+xhr.status+'响应文本:'+xhr.responseText, 'alert'); });
发现提示语存在于ajax网络失败请求回调中,但是光看它提示的log,发现不出来问题。
于是在2处提示的地方添加了下面的调试代码,并且注释掉了原代码。
.error(function(xhr, status, error) { console.error('AJAX请求失败:', status, error); console.error('HTTP状态码:', xhr.status); console.error('响应文本:', xhr.responseText); popup.open('网络出现问题,请稍后再试'+'status状态:'+status+'xhr.status状态:'+xhr.status+'响应文本:'+xhr.responseText, 'alert'); });
第二步:关闭相应插件
在重新发帖后,提示报错来源于一个叫做西山SEO的插件。到管理中心关闭插件后重新发帖成功。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。