You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

上传PDF时AJAX请求出现403 Forbidden错误,请求技术解决方案

解决AJAX上传PDF时403 Forbidden错误的方案

先看你代码里的明显错误:

  • AJAX配置里重复定义了type属性:你先写了type : 'multipart/form-data',后面又写了type : "POST"。type是用来指定请求方法(GET/POST)的,而multipart/form-data属于请求的contentType字段,这里的错误配置会干扰请求的正常发送。

第一步:修复代码中的配置错误

删掉错误的type : 'multipart/form-data'行,保留正确的请求方法配置,修改后的AJAX代码如下:

$.ajax({
    headers : {
        "X-CSRF-TOKEN" : csrf
    },
    processData : false, // 必须,避免jQuery自动处理FormData导致格式错误
    contentType: false, // 必须,让浏览器自动生成multipart/form-data的请求头和边界
    cache : false,
    data : data,
    type : "POST", // 仅保留这一个type,指定请求方法为POST
    url : "./parseResume",

    // 以下success、error回调逻辑保持不变
    success : function(result) {
        if (result.status == "Done") {
            current_employee_id = result.data.employeeId;
            $('#myModal').modal('hide');
            $('#candidatesBlock1').empty();
        }
        $(".tab-slider--navresumedetails li:nth-child(2)").trigger('click')
        $(".tab-slider--navresumedetails li:nth-child(1)").css('pointer-events', 'none');
        $(".add_candidate_form_parent").css('height', '698px');
        $(".add_candidate_form_parent").css('overflow', 'auto');
        
        getSupplierEmail()
        
        var obj = result.data;
        unparsed_resumes_list = obj;
        current_employee_id = obj.employeeId;
        $('#userId_unparesedResume').val(obj.employeeId);
        unparsedBulkSharedResumePreview(obj);
        $('#btn_save_unparsedSharedBulkResumes').html('Save');

        if (result.status == "error") {
            $('#myModal').modal('hide');
        }
    },
    error : function(result) {
        console.log(result);
    }
});

其他可能的排查方向

  • CSRF令牌验证:在控制台打印csrf变量,确认是否从页面的input[name='_csrf']获取到了有效令牌;同时检查后端是否正确配置了CSRF拦截规则,是否支持X-CSRF-TOKEN这个请求头字段(部分框架默认用X-XSRF-TOKEN)。
  • 文件大小限制:如果上传的PDF过大,后端可能会返回403,检查后端(比如你的Servlet)的文件上传配置,确认maxFileSize等参数是否足够。
  • 接口权限校验:确认./parseResume接口是否允许当前用户访问,后端是否有角色/权限拦截规则,当前用户会话是否有效。
  • 关于错误提示:‘a padding to disable MSIE and Chrome friendly error page’是服务器添加的填充内容,目的是避免浏览器把短错误页面替换成自带的友好提示,核心问题还是403权限/配置错误,解决403后这个提示会自然消失。

内容的提问来源于stack exchange,提问作者pawan ks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:22:34