我很抱歉,但我有一個持續性的錯誤,上傳功能工作正常Ajax調用半工作...文件已上傳但JavaScript未執行
function startUp(hash) {
$('#file_up_form').ajaxForm({
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRF-Token", '{{ Session::token() }}');
xhr.setRequestHeader('Sha-Sha',hash);
//other stuff
},
uploadProgress: function(event, position, total, percentComplete) {
//some stuff
},
complete : function(xhr) {
//some stuff
},
error : function(xhr) {
//some stuff
}
});
}
當我打電話這種方式:
$("#start_up_button").on('click', function() {
if(checkFile()){
startUp('f4274dd2284704f1158b2cecd71666a37ba5b949f97fc521974f98fa3dd0ea706cca7253244e20f2a4c4c694052097c45260edfe679c9e7b56896858a34839cd');
//getHash();
}
else{
$('#myModalerror').modal('show');
$("#myModalerror").css("z-index", "1500");
}
});
,一切工作正常。 但是,當我取消對第二行和評論首先從調用它:
function getHash(){
input = document.getElementById('fileToUpload');
file = input.files[0];
var reader = new FileReader();
reader.onload = function(e) {
var shaObj = new jsSHA(reader.result,"BYTES");
var hash = shaObj.getHash("SHA-512", "HEX");
console.log(hash);
startUp(hash);
};
reader.readAsBinaryString(file);
}
沒有工作AJAX:在執行console.log顯示正確的哈希值,但沒有頭設置,並沒有從「//一些東西'的作品...但文件上傳! (??)我試圖用
setTimeout(function() {
startUp(hash);
}, 200);
打包電話,但Firefox只是崩潰。任何想法 ??
THX