2019独角兽企业重金招聘Python工程师标准>>>
..is not a function错误的可能情况:
1、JS引入的路径不对。检查方法是看浏览器控制台是否将JS载入了进来。
2、JS引入顺序不对。JS要在你使用之前引入
3、Jquery没有第一个引入。
4、函数所在script标签,存在错误函数。
5、函数名写错了。
然后我发现按照网上很多人的写法,无论如何都会出这个错。 这种写法类似:
function ajaxFileUpload(){$.ajaxFileUpload({url:'update.do?method=uploader', //需要链接到服务器地址secureuri:false,fileElementId:'houseMaps', //文件选择框的id属性dataType: 'xml', //服务器返回的格式,可以是jsonsuccess: function (data, status) //相当于java中try语句块的用法{ },error: function (data, status, e) //相当于java中catch语句块的用法{}});}
最后我按照官方DEMO的格式写,就OK了
<form method="post" action="" enctype="multipart/form-data"><label>File Input: <input type="file" name="file" id="demo1" /></label></form>
$(document).ready(function() {var interval;function applyAjaxFileUpload(element) {$(element).AjaxFileUpload({action: "MyJsp.jsp",onChange: function(filename) {// Create a span element to notify the user of an upload in progressvar $span = $("<span />").attr("class", $(this).attr("id")).text("Uploading").insertAfter($(this));$(this).remove();interval = window.setInterval(function() {var text = $span.text();if (text.length < 13) {$span.text(text + ".");} else {$span.text("Uploading");}}, 200);},onSubmit: function(filename) {// Return false here to cancel the upload/*var $fileInput = $("<input />").attr({type: "file",name: $(this).attr("name"),id: $(this).attr("id")});$("span." + $(this).attr("id")).replaceWith($fileInput);applyAjaxFileUpload($fileInput);return false;*/// Return key-value pair to be sent along with the filereturn true;},onComplete: function(filename, response) {window.clearInterval(interval);var $span = $("span." + $(this).attr("id")).text(filename + " "),$fileInput = $("<input />").attr({type: "file",name: $(this).attr("name"),id: $(this).attr("id")});if (typeof(response.error) === "string") {$span.replaceWith($fileInput);applyAjaxFileUpload($fileInput);alert(response.error);return;}$("<a />").attr("href", "#").text("x").bind("click", function(e) {$span.replaceWith($fileInput);applyAjaxFileUpload($fileInput);}).appendTo($span);}});}applyAjaxFileUpload("#demo1");});