{"ERROR":"GET FROM SOURCE FAILED: E405"} ,七牛导致AJAX评论失效解决办法
{“ERROR”:“GET FROM SOURCE FAILED: E405”} ,七牛导致AJAX评论失效解决办法
AJAX评论错误
前天使用了七牛加速,静态文件全部通过CDN加速,减轻服务器负担,但是今天突然发现评论无法提交了,错误提示“{“error”:“get from image source failed: E405”}”,网上搜索了一下,发现不少人也有此类问题。主要原因是七牛CDN缓存了ajax评论脚本 commonts-ajax.js(有的是function.js)文件,所以提交时导致评论失效了。
七牛CDN插件修改解决方案
打开七牛插件目录,找到wpjam-qiniutek.php文件打开,定位至100行return $html前,插入以下代码:
1 | $html = str_replace('http://7xt1tb.com2.z0.glb.qiniucdn.com/wp-content/themes/Tinection-master/includes/js/function.js', 'http://www.xuzizi.cn/wp-content/themes/Tinection-master/includes/js/function.js', $html); |
其原理是插件已经修改静态文件原目录至CDN目录,我只需要再把function.js(如果你的是comments-ajax.js就改为comments-ajax.js所在路径)这一个文件的目录改回来即可,其中第一个路径是CDN服务器上function.js的路径,需要把它替换为第二个路径,即网站原文件路径,具体路径请根据你自己的网站作修改。
修改comments-ajax.js
在主题文件夹下找到comments-ajax.js打开,并且找到如下代码:
1 | var i = 0, got = -1, len = document.getElementsByTagName('script').length; |
它一般在最开头的位置,然后在这段代码之后再添加一句代码,如下:
1 | // 修复七牛cdn评论失效 |
修改好之后 保存即可。 最后,还要到七牛里面将原来缓存的comments-ajax.js文件删除,若wordpress有缓存插件的也要删除一遍缓存。 刷新文章页面,让七牛更新缓存文件。 更新完毕之后,即可恢复评论功能。