我正在通过AJAX上传图片,但成功并不是完整的。
我在表单中退出了这两个对象。
<img class="b_logo" id="b_logo_img" src="images/no_image.gif">
<input class="file_up" id="file_logo" type="file">
数据包含图像的URL。
$(function() {
$("#file_logo:file").change(function (){
var fileName = $(this).val();
savepic();
});
});
function savepic()
{
var file_data = $("#file_logo").prop("files")[0]; // Getting the properties of file from file field
var form_data = new FormData(); // Creating object of FormData class
form_data.append("file", file_data) // Appending parameter named file with properties of file_field to form_data
form_data.append("user_id", 123) // Adding extra parameters to form_data
$.ajax({
url: "support_file/upload_image.php",
dataType: 'script',
cache: false,
contentType: false,
processData: false,
data: form_data, // Setting the data attribute of ajax with file_data
type: 'post',
success: function (data) {
$("#b_logo_img").attr("src",data);
}
});
}
响应
答案 0 :(得分:2)
删除dataType: 'script'
有效。
答案 1 :(得分:1)
这应该可以正常使用
1)尝试使用表单获取图像文件名并将其发送到php,而不是按照您的方式获取它。
2)当您动态更改其src
时,始终清空img标记的style属性$("#file_logo").change(function()
{ var formData = new FormData($("#form_id")[0]);
$.ajax({
url: "name_of_your_php_page.php",
type: 'POST',
data: formData,
async: false,
success: function (info) {
$("#b_logo_img").attr('src',info).fadeIn();
$("#b_logo_img").attr('style',' ');
},
cache: false,
contentType: false,
processData: false
});
return false;
});