¿Cuál es la razón por la cual jquery ajaxFileUpload no es una función?
Mensaje de error
Error de tipo no detectado: ¿$.ajaxFileUpload no es una función?
La idea principal es que la función ajaxFileUpload no está definida
Fondo de error
Utilicé js ajaxFileUpload para implementar la función de enviar archivos sin actualizar la página sin usar el formulario (pero, de hecho, este js todavía usa 233 para el envío de formularios, pseudo ajax y jQuery ajax son diferentes). ?
Después de encontrar una referencia de descarga de ajaxfileupload.js y escribir el código de carga, seguí informando este error. Abrí la consola y eché un vistazo. Se hizo referencia a Ajaxfileupload.js correctamente y se puede abrir en. console., en el cual puedes ver que la función ajaxFileUpload está definida, pero no importa cuántas veces reinicies el servidor, se reportará este error. Luego comencé a verificar diversa información y comencé a leer lo que todos decían. Pensé que era un problema con el archivo ajaxfileupload.js. Luego fui a github para descargar el que tenía más bifurcaciones y reemplacé el que descargué antes. Todavía estaba mal. Encontré varias versiones diferentes de ajaxfileupload.js y las probé todas, pero todavía obtuve el mismo error. Luego leí información en línea y dije que también estaba relacionado con jquery.min.js. Debido a que usé Bootstap, jquery.min.js se importó antes y sospeché que esta versión de js causó el error, así que probé varias versiones de jquery. .min.js, pero fue en vano. ?
Finalmente, finalmente encontré una declaración en un pequeño rincón discreto: el conflicto de la versión de referencia de JS puede causar este tipo de error. Más tarde, vi a una persona en CSDN Q&A que también encontró este tipo de error. Se decía que el error estaba relacionado con include. Finalmente, después de mirar detenidamente include, encontré la verdadera causa del error.
Solución
En primer lugar, debemos aclarar algunos requisitos previos (básicamente los he mencionado en blogs de otras personas, pero todavía siento que es necesario decirlos):
Confirme que el ajaxfileupload.js que está utilizando no sea uno cuya disponibilidad sea cuestionable. ?
Debido a que este js es relativamente simple y muchas personas lo escribieron ellos mismos, puede haber muchas versiones que no se usan comúnmente. Doy aquí los js que uso. Haga clic en mí para descargar
Asegúrese de haber importado los dos js jquery.min.js y ajaxfileupload.js, y que no haya ningún problema con la ruta, y jquery.js se importe antes que ajaxfileupload.js. ?
Si js no importa correctamente los dos js anteriores debido a errores de ruta o de configuración, entonces hay un error en otra parte. Es muy sencillo juzgar si ha importado js correctamente. Utilice las herramientas de desarrollador para ver si se puede abrir el js correspondiente, o actualice la página y verifique el estado de la solicitud http del archivo js en la red. la importación fue exitosa (estos dos estados son Puede usar Baidu para descubrir las diferencias, pero todos indican éxito).
Después de confirmar los dos puntos anteriores, el punto clave está aquí. Debe verificar cuántos jquery.min.js y ajaxfileupload.js hay en su página si se asegura de que estos dos js estén en esta. La página se ha importado una vez, entonces debe usar la etiqueta de inclusión. Si importa jquery.min.js o ajaxFileUpload.js en la etiqueta de inclusión, el navegador importará dos archivos con el mismo nombre en la misma página, pero yo no. No sé cuál usar (¡aunque se importa el mismo archivo js!), así que simplemente no lo uso. . . Luego se informará el error anterior. Asegúrese de que no se importe ningún otro jquery.min.js en todas sus subpáginas de inclusión y iframe. Entonces este error ya debería estar resuelto.