1

皆様、こんにちは。

以下のように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の問題ではないと思います。

問題が何であるかを提案してください!!

4

0 に答える 0