[英]jQuery file upload plugin not calling success callback
我正在使用jQuery fileupload插件,我想在完成fileupload后做一些自定義jQuery的東西
從這里https://github.com/blueimp/jQuery-File-Upload/wiki/Options
現在它說了這個
Callback for successful upload requests.
$('#fileupload')
.bind('fileuploaddone', function (e, data) {/* ... */})
現在我已經在我自己的js文件中定義了這個自定義函數進行測試
$('#fileupload').bind('fileuploaddone', function (e, data) {/* ... */
alert('Hello');
})
但它不起作用。
但如果我在這里編輯主文件
// Callback for successful uploads:
done: function (e, data) {
然后它工作。
檢查服務器端上載腳本是否返回JSON回復 - 在我的情況下,當回復為空,但文件上傳成功時它不起作用。
所以,下面是jQuery 1.9.1和最新版本的“jQuery文件上傳插件” - 5.21.3
$("#fileupload").bind("fileuploaddone", function (e, data) {
console.log("fileuploaddone event fired");
});
查看庫代碼,似乎所有事件都被重命名,刪除'fileupload'...所以'fileuploaddone'變成'完成'。 它適用於所有其他回調。 看看這一節:
// Other callbacks:
// Callback for the submit event of each file upload:
// submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
// Callback for the start of each file upload request:
// send: function (e, data) {}, // .bind('fileuploadsend', func);
// Callback for successful uploads:
// done: function (e, data) {}, // .bind('fileuploaddone', func);
// Callback for failed (abort or error) uploads:
// fail: function (e, data) {}, // .bind('fileuploadfail', func);
// Callback for completed (success, abort or error) requests:
// always: function (e, data) {}, // .bind('fileuploadalways', func);
// Callback for upload progress events:
// progress: function (e, data) {}, // .bind('fileuploadprogress', func);
// Callback for global upload progress events:
// progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
// Callback for uploads start, equivalent to the global ajaxStart event:
// start: function (e) {}, // .bind('fileuploadstart', func);
// Callback for uploads stop, equivalent to the global ajaxStop event:
// stop: function (e) {}, // .bind('fileuploadstop', func);
// Callback for change events of the fileInput(s):
// change: function (e, data) {}, // .bind('fileuploadchange', func);
// Callback for paste events to the pasteZone(s):
// paste: function (e, data) {}, // .bind('fileuploadpaste', func);
// Callback for drop events of the dropZone(s):
// drop: function (e, data) {}, // .bind('fileuploaddrop', func);
// Callback for dragover events of the dropZone(s):
// dragover: function (e) {}, // .bind('fileuploaddragover', func);
如果您對發生的事情有疑問,請查看內部代碼。 此庫未壓縮,因此很容易看到。 例如
// start: function (e) {}, // .bind('fileuploadstart', func);
start
回調已實現。 fileuploadstart
不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.