皆様、こんにちは。
以下のようにajaxFileUploadを使用しています
$('#upload_file').submit(function(e) {
e.preventDefault();
$.ajaxFileUpload({
url :"http://localhost/CodeIgniter_Registration/index.php/application_form/file_upload",
fileElementId :'userfile',
dataType : 'json',
data : {
'name' : $('#document_name').val()
},
success : function (data, status)
{
alert(data.msg);
}
});
return false;
});
コントローラでは、ファイルがアップロードされ、返されるデータも存在します
これは次のように返されます
echo json_encode(array('status' => $status, 'msg' => $msg));
コントローラーから
function file_upload() {
$status = "";
$msg = "";
$file_element_name = 'userfile';
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png|doc|docx|pdf',
'upload_path' => $this->gallery_path,
'max_size' => 2000,
'file_name' => $filename
);
$this->load->library('upload', $config);
$test_upload = $this->upload->do_upload($file_element_name);
if (!$test_upload)
{
$status = 'error';
$msg = $this->upload->display_errors('', '');
}
else
{
$data = $this->upload->data();
//$file_id = $this->files_model->insert_file($data['file_name'], $_POST['title']);
if(1)
{
$status = "success";
$msg = "File successfully uploaded";
}
else
{
unlink($data['full_path']);
$status = "error";
$msg = "Something went wrong when saving the file, please try again.";
}
}
@unlink($_FILES[$file_element_name]);
echo json_encode(array('status' => $status, 'msg' => $msg));
}
ただし、「成功」コールバックは呼び出されないようで、アラート メッセージは生成されません。
また、プレーンテキストを返そうとしました。まだ何もありません。したがって、jsonの問題ではないと思います。
問題が何であるかを提案してください!!