查看了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,求解後端