使用ajax上传文件而不刷新

时间:2015-03-30 05:53:15

标签: ajax codeigniter

这是js文件。

  $(document).ready(function() {
$(".detail_wo").click(function() {
var id_wo           = $("#id_wo").val();
var id_detil        = $("#id_detil").val();
var id_bahan        = $("#id_bahan").val();
var id_laminating   = $("#id_laminating").val();
var ukuran1         = $("#ukuran1").val();
var ukuran2         = $("#ukuran2").val();
var jumlah          = $("#jumlah").val();
var finishing       = $("#finishing").val();
var keterangan      = $("#keterangan").val();
var file_upload     = $("#file_upload").val();
var url_detil       = $("#url_detil").val();
var base_url        = $("#base_url").val();



   var dataString = 'id_wo='+ id_wo +'&id_detil='+ id_detil + '&id_bahan='
 + id_bahan + '&id_laminating=' + id_laminating + '&ukuran1=' + ukuran1 + 
'&ukuran2=' + ukuran2 + '&jumlah=' + jumlah + '&finishing=' + finishing + 
'&keterangan=' + keterangan + '&file_upload=' + file_upload;


    if(id_bahan==''|| id_laminating=='' || ukuran1==''|| ukuran2=='')
{
//document.write(base_url);
detil_table2();
$('#success2').fadeOut(200).hide();
$('#error2').fadeOut(200).show().delay(2000).fadeOut(200);
}
else
{
$.ajax({
type: "POST",
url: url_detil,
data: dataString,
enctype: 'multipart/form-data',
success: function(){
detil_table2();
$('#success2').fadeIn(200).show().delay(2000).fadeOut(200);
$('#error2').fadeOut(200).hide();
$('#id_bahan,#id_laminating,#ukuran1, #ukuran2, #jumlah, #finishing, #keterangan, #file_upload, #nama_file').val('');
}
});
}
return false;
});
});

问题是文件未上传。 var file_upload仅包含上传的文件名。 我应该用什么来将上传的文件值传递给ajax调用? 你能给我一个类似案例的例子吗?

1 个答案:

答案 0 :(得分:0)

我使用Ajax Form非常简单,它将HTML表单转换为ajax并且上传也是可能的,到目前为止我知道从$ .ajax发送multipart / form-data需要更多工作....