jQuery AJAX 请求在第二次尝试后失败(此请求没有标头)

jQuery AJAX request fail after second try (NO HEADERS FOR THIS REQUEST)

提问人:Luka Vogrinčič 提问时间:10/20/2023 最后编辑:bassxzeroLuka Vogrinčič 更新时间:10/20/2023 访问量:18

问:

我正在 Yii2 框架(基础)中开发一个应用程序,我使用 jQuery AJAX 调用来上传文件。 正如预期的那样,第一次尝试工作正常,但是当我尝试上传另一个文件(不刷新页面)时,请求失败。

我还尝试包含标题。我的一段代码看起来像这样(不要介意PHP变量和注释):

var file = $("#attachment-file'.$hw->id.'").val().substr($("#attachment-file'.$hw->id.'").val().lastIndexOf("fakepath") + 9);
                    $("#AttachmentFileId'.$hw->id.'").html(file);
                    
                    var file_data = $("#attachment-file'.$hw->id.'").prop("files")[0];
                    var form_data = new FormData();
                    form_data.append("attachment-file'.$hw->id.'", file_data);
                    
                    // alert(form_data);
                    
                    $.ajax({
                        url: "'.Url::to(['site/upload-hw', 'codeId' => $attachment->code_id, 'lessionId' => $lession->id, 'hwId' => $hw->id]).'",
                        // dataType: "text",
                        cache: false,
                        contentType: false,
                        // contentType: "multipart/form-data",
                        processData: false,
                        headers: { 
                            // "Content-Type": "application/x-www-form-urlencoded",
                            "X-Requested-With" : "XMLHttpRequest",
                            // "Accept" : "text/plain"  
                        }, 
                        data: form_data,
                        method: "POST",
                        type: "POST",
                        success: function (response) {
                            $("#AttachmentFileId'.$hw->id.'").html(response); 
                            $("#AttachmentFileId'.$hw->id.'").fadeIn(); 
                            $("#AttachmentFileId'.$hw->id.'").fadeOut(7000); 
                            $("#AttachmentFileId'.$hw->id.'").html("");
                            $("#AttachmentFileId'.$hw->id.'").fadeIn(); 
                        },
                        error: function (response) {
                            $("#AttachmentFileId'.$hw->id.'").html(response);
                        }
                    }); return false;

有谁知道为什么会这样? 谢谢。 卢卡

jQuery ajax 文件 yii2 上传

评论


答: 暂无答案