UEditor單個圖片上傳遇到的問題記錄

 

 查看了ueditor.all.js得源代碼發現單圖片上傳是在選擇文件輸入框change事件執行表單Submit,可是出現一個問題請求頭沒有加入Cookie,致使後端身份認證失敗,上傳最終失敗。jquery

ueditor.all.js  24603行原代碼:ajax

          domUtils.on(iframe, 'load', callback);
                form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params);
                form.submit();

 

後改成了jquery提交form表單,解決了問題,json

  /*修改UEDITOR源碼,form提交文件改成ajax上傳*/
                function ajaxUploadFile(url, form) {
                    $.ajax({
                        cache: true,
                        type: "POST",
                        url: url,
                        data: new FormData(form),// 你的formid
                        processData: false,
                        contentType: false,
                        error: function (request) {
                            
                        },
                        success: function (json) {
                            var link, json, loader,
                                body = (iframe.contentDocument || iframe.contentWindow.document).body,
                                result = body.innerText || body.textContent || '';
                            link = me.options.imageUrlPrefix + json.url;
                            if (json.state == 'SUCCESS' && json.url) {
                                loader = me.document.getElementById(loadingId);
                                loader.setAttribute('src', link);
                                loader.setAttribute('_src', link);
                                loader.setAttribute('title', json.title || '');
                                loader.setAttribute('alt', json.original || '');
                                loader.removeAttribute('id');
                                domUtils.removeClasses(loader, 'loadingclass');
                            } else {
                                showErrorLoader && showErrorLoader(json.state);
                            }
                            form.reset();
                        }
                    });
                }
                var action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?' : '&') + params);
                ajaxUploadFile(action, form);

                //domUtils.on(iframe, 'load', callback);
                //form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params);
                //form.submit();

不知何故 原form submit 請求頭未攜帶cookie,求解後端

相關文章
相關標籤/搜索