我在我的网页上使用了blueimp jquery fileupload。我在主页的head标签中包含了所有css和js文件。我有一个包含许多菜单的左侧菜单。点击 menu1 后,它将发送一个ajax请求,响应将在div menuContent 中设置。
<head>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="file_upload_style.css">
<link rel="stylesheet" href="jquery_file_upload.css">
<script src="jquery_ui_widget.js"></script>
<script src="jquery_iframe_transport.js"></script>
<script src="jquery_file_upload.js"></script>
</head>
<div id="menuContent" class="menuContent"></div>
响应包含带有相应jquery文件上载代码的上传按钮。
<span class="btn btn-success fileinput-button w3-margin-bottom ">
<i class="glyphicon glyphicon-plus"></i>
<span>Upload</span>
<input id="uploadXLSXFile" type="file" name="files">
</span>
<script type="text/javascript">
$(function () {
'use strict';
$('#uploadXLSXFile').fileupload({
add: function(e, data) {
var uploadErrors = [];
if (!(/\.(xlsx)$/i).test(data.originalFiles[0].name)) {
return false;
}
data.submit();
},
url: "UploadHandler.php",
dataType: 'json',
acceptFileTypes : /(\.|\/)(xlsx)$/i,
done: function (e, data) {
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
当我点击menu1时,此响应将被设置为div,但我收到错误,如
未捕获的TypeError:$(...)。fileupload不是函数
如何在ajax响应中访问主页中添加的js?任何人都可以帮我解决这个问题吗?
提前致谢。
答案 0 :(得分:0)
将脚本附加到标题中:
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);
或者您可以使用JQuery的getScript()
$.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
console.log( data ); // Data returned
console.log( textStatus ); // Success
console.log( jqxhr.status ); // 200
console.log( "Load was performed." );
});