这是我的ajax提交功能。当我提交此功能时,worklogdetailsidschedule,shift_schedule正确地插入了数据库。但是filename_schedule在数据库中为空(哪个文件)。如何解决?
$('#scheduleform').submit(function(e){
e.preventDefault();
var workLogDetailsIdschedule = $('#workLogDetailsIdschedule').val();
var shift_schedule = $("#shift_schedule option:selected").val();
var filename_schedule = $('#filename_schedule').val();
$.ajax({
type: "POST",
url: "<?php echo base_url()?>shifts/addscheduleerror/",
data: {workLogDetailsIdschedule:workLogDetailsIdschedule,shift_schedule:shift_schedule,filename_schedule:filename_schedule,},
success: function (data) {
alert("Added Successfully");
location.href = "<?php echo base_url()?>shifts/punch";
},
error: function () {
alert("Server Error! Please try again later.");
}
});
});
答案 0 :(得分:2)
尝试使用form_data
并使用files
属性而不是value
$('#scheduleform').submit(function(e){
e.preventDefault();
var workLogDetailsIdschedule = $('#workLogDetailsIdschedule').val();
var shift_schedule = $("#shift_schedule option:selected").val();
var filename_schedule = $('#filename_schedule')[0].files[0];
var form_data = new FormData();
form_data.append('workLogDetailsIdschedule', workLogDetailsIdschedule);
form_data.append('shift_schedule', shift_schedule);
form_data.append('filename_schedule', filename_schedule);
$.ajax({
type: "POST",
url: "<?php echo base_url()?>shifts/addscheduleerror/",
data: form_data,
success: function (data) {
alert("Added Successfully");
location.href = "<?php echo base_url()?>shifts/punch";
},
error: function () {
alert("Server Error! Please try again later.");
}
});
});
答案 1 :(得分:2)
我花了很多时间来解决这个问题。 我有这样的解决方案。
var $data = new FormData();
$data.append('file', $("#photofile").get(0).files[0]);
$data.append('resume', $("#resume").get(0).files[0]);
$data.append('email', $("#email").val());
该数据中的所有内容都将分配并发送给...... data: $data,
在php文件中,捕获通过$data.append()
答案 2 :(得分:0)
如果将文件上传到服务器,则该文件不能采用JSON格式(除非将文件转换为字符串,例如base64图像)。
改为使用NET::ERR_CERT_COMMON_NAME_INVALID
。