我想将图像文件上传到服务器,然后在返回时在浏览器编辑器上显示。
为此,我有 #fileInput 表单输入(类型文件)将图像上传到服务器。
在更改 #fileInput 时,我触发 uploadAndReadURLfunction ,调用 app.uploader 进行上传。
上传完成后,会返回到评论线#34;来到这里"下面。但是,我希望它返回评论的行#34;不来这里"。我怎样才能实现这一目标。
var app = app || {};
(function(o) {
"use strict";
var ajax, getFormData;
ajax = function(data) {
var xmlhttp = new XMLHttpRequest(), uploaded;
xmlhttp.addEventListener('readystatechange', function() {
if(this.readyState === 4) {
if(this.status === 200) {
var res =this.response;
if(res == 1) {
console.log(res); // Coming here.
}
}
}
});
xmlhttp.open('post', o.options.processor);
xmlhttp.send(data);
};
getFormData = function(source) {
var data = new FormData(), i;
for(i = 0; i < source.files.files.length; i = i + 1) {
data.append('file[]', source.files.files[i]);
}
data.append('ajax', true);
return data;
};
o.uploader = function(options) {
o.options = options;
if(o.options.files !== undefined) {
ajax(getFormData(o.options));
}
}
}(app));
function uploadAndReadURL(input) {
if(input.files && input.files[0]) {
var f = document.getElementById('fileInput');
app.uploader({
files: f,
processor: "/geornal/image",
finished: function(data) {
console.log("burada2."); // Not coming here..
},
error: function() {
console.log('Not working');
}
});
}
}
$(document).ready(function(){
$("#icerik2").on("change", "#fileInput", function(){
uploadAndReadURL(this);
});
});
&#13;
答案 0 :(得分:0)
uploadAndReadURL函数中有“finished:”部分。我不 知道如何从app功能调用“完成”。
尝试在o.options.finished()
处理程序
if
语句处调用readystatechange
if(res == 1) { o.options.finished(res); }