ajaxfileupload.js是一个好插件,能够兼容ie7、ie8这种老浏览器,但是因为长期没有更新导致无法支持高版本的jQuery库。

会报:jQuery.handleError is not a function

解决办法是增加一段修正脚本:


  1. jQuery.extend({
  2. handleError: function (s, xhr, status, e) {
  3. if (s.error) {
  4. s.error.call(s.context || s, xhr, status, e);
  5. }
  6. if (s.global) {
  7. (s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);
  8. }
  9. },
  10. httpData: function (xhr, type, s) {
  11. var ct = xhr.getResponseHeader("content-type"),
  12. xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
  13. data = xml ? xhr.responseXML : xhr.responseText;
  14. if (xml && data.documentElement.tagName == "parsererror")
  15. throw "parsererror";
  16. if (s && s.dataFilter)
  17. data = s.dataFilter(data, type);
  18. if (typeof data === "string") {
  19. if (type == "script")
  20. jQuery.globalEval(data);
  21. if (type == "json")
  22. data = window["eval"]("(" + data + ")");
  23. }
  24. return data;
  25. }
  26. });