通过ajax上传文件和表单输入

I'm trying to upload a file and some inputs in a form via ajax. I'm using CI and used AjaxFileUpload plugin for file upload. I'm getting

Uncaught TypeError: $.ajaxFileUpload is not a function

HTML:

<form id="importtableform" class="form form-group" method="post">
    Table Name: <select class="form-control" id="tableName">
      <option disabled>--Select Table--</option>
                </select>
    <div class="form-group" style="margin-top:0px !important;">
       <input class="form-control meta" name="csvFile" id="csvFile" type="file" style="cursor: pointer;" accept=".csv">
    </div>
</form>
<button type="button" id="upload" class="btn-modal btn btn-block btn-primary">Upload</button>

JS:

$('#upload').click(function () {

var fileObj = $('#csvFile')[0].files[0];
var tableName = $('#tableName').find(':selected').val();

$.ajaxFileUpload({

    type: 'POST',
    url: baseurl + '/rest/bulkUpload',
    data: {
        'tableName': tableName
    },
    fileElementId   :'csvFile',
    processData: false,
    contentType: false,
    success: function (result) {

        console.log(result);

    }


});


});

EDIT

I tried formData() with plain ajax before using this third party plugin, in that case I got another error

$this->upload->display_errors()

You did not select a file to upload.