Reputation:
Here is my ajax submit function.When i submit this function,worklogdetailsidschedule,shift_schedule are inserted into database correctly.But the filename_schedule is empty in database(Which is a file).How to solve it?
$('#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.");
}
});
});
Upvotes: 1
Views: 32
Reputation: 3536
Try using form_data
and use files
property instead of 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.");
}
});
});
Upvotes: 2
Reputation: 81
I spend so many hours for Solve this issue. i got solution like this.
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());
Everything assign in This data and send it Like... data: $data,
in php file catch these key which assigned via $data.append()
Upvotes: 1
Reputation: 11
if you upload a file to your server, then it can't be in the JSON format(unless converting your file to a string, such as the base64 image).
using form data
instead.
Upvotes: 0