解决AJAX提交404错误:a padding to disable MSIE and Chrome friendly error page

html 复制代码
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.12.2</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!--用于禁用MSIE和Chrome友好错误页的填充 -->

异常说明

  1. 使用wangEditor编辑器,提交内容;
  2. 正常数据的文本,正常提交;
  3. 外网使用时,上传图片或视频后,出现404页面,具体提示信息:a padding to disable MSIE and Chrome friendly error page
  4. 内网使用时,正常;

异常排查

  • 把所有精力放在解决"a padding to disable MSIE and Chrome friendly error page"是个错误,导致对NGINX的配置、内网外网都进行过怀疑和调试;
  • 尤其是内网可用,外网不可用,更是导致跑了很多远路;
  • 其实,问题的关键在于上传图片后,正常的路由无法获取,就代表网络层被阻断了
  • 逐行调试,对代码转义后,一切正常。

解决方案

转义函数

javascript 复制代码
/*HTML代码转义*/
function escapeHtml(unsafe) {
    return unsafe
        .replace(/&/g, "&amp;")
        .replace(/</g, "&lt;")
        .replace(/>/g, "&gt;")
        .replace(/"/g, "&quot;")
        .replace(/'/g, "&#039;");
}

字段调用

javascript 复制代码
   $.ajax({
                type: "post",
                url: "?m=Forum&a=forumDeal&act=add",
                async: true,
                data: {
                    section: $('#sect_name').val(),
                    forum_title: $('#forum_title').val(),
                    forum_abstract: $('#forum_abstract').val(),
                    forum_age: $('#forum_age').val(),
                    forum_sex: $('#forum_sex').val(),
                    forum_chief: $('#forum_chief').val(),
                    forum_subjective: escapeHtml(forum_subjective),
                    forum_objective: escapeHtml(forum_objective),
                    forum_assess: escapeHtml(forum_assess),
                    forum_treat: escapeHtml(forum_treat),
                    forum_effect: $('#forum_effect').val(),
                    forum_evaluate: escapeHtml(forum_evaluate)
                },
                dataType: "json",
                success: function (res) {
                    //console.log(res);
                    if (res.code == 0) {
                        layer.msg(res.msg, {icon: 2, time: 2000});
                    } else {
                        layer.msg(res.msg, {icon: 1, time: 2000}, function () {
                            window.parent.location.href = "?m=My&a=myForum";
                        });
                    }
                }, error: function (err) {
                    console.log(err)
                }
            });

入库转义

php 复制代码
        $forum_age = html_entity_decode($_POST['forum_age']);
        $forum_sex = html_entity_decode($_POST['forum_sex']);
        $forum_subjective = html_entity_decode($_POST['forum_subjective']);
        $forum_chief = html_entity_decode($_POST['forum_chief']);
        $forum_objective = html_entity_decode($_POST['forum_objective']);
        $forum_assess = html_entity_decode($_POST['forum_assess']);
        $forum_treat = html_entity_decode($_POST['forum_treat']);
        $forum_effect = html_entity_decode($_POST['forum_effect']);
        $forum_evaluate = html_entity_decode($_POST['forum_evaluate']);

@漏刻有时

相关推荐
之歆5 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
Maimai108085 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong5 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
卡卡军8 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher8 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
JYeontu8 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
亲亲小宝宝鸭8 小时前
如何监听DOM尺寸的变化?element-resize-detector 和 resizeObserver
前端·javascript
卷帘依旧11 小时前
Generator 全面解析 + async/await 深度对比
前端·javascript
weixin_4713830311 小时前
统一缩放单位基础(px、em、rem)
开发语言·javascript·ecmascript
yqcoder11 小时前
数据劫持的双雄:深入解析 Object.defineProperty 与 Proxy
开发语言·前端·javascript