ПланомИзвлечение данных из базы данных в CodeIgniter с использованием AJAX
План у меня есть, чтобы использовать JQuery для получения информации от трех полей внутри вида. Затем используйте AJAX для отправки этого входа в контроллер, который, в свою очередь, отправляет эти данные модели. Чтобы использовать для извлечения данных, отправьте результат обратно в .js-файл, а затем измените таблицу, чтобы отобразить данные внутри представления.
Проблема
Просматривая мой код, он не выглядит как данные не отправляются из .js файла в контроллер. Я думаю, это потому, что данные из базы данных не отображаются внутри измененной таблицы. Кроме того, когда я помещаю эхо внутри контроллера, чтобы отправить его обратно в .js, чтобы вызвать предупреждение, чтобы увидеть, был ли AJAX успешным. Ничего не произошло.
Мои Javascript Код
$('#bttnSubmit').click(function() {
// Gather the input from the view and place them into variables
var company = $('#client :selected').val();
var dateFrom = $('#dateFrom').val();
var dateTo = $('#dateTo').val();
if (company != "") {
var post_url = "http://localhost/ProjectSage/index.php/site/members_area";
$.ajax ({
type: "POST",
url: post_url,
cache: false,
data: "company=" + company + "&dateFrom=" + dateFrom + "&dateTo=" + dateTo,
success: function(invoices) {
$.each(invoices, function(InvoiceID, CompanyName, InvRef, InvDate, InvTotal, SageReference){
$('.invoice_tbody').append('<tr>');
$('.invoice_tbody').append('<td class="invoice_td">' + InvoiceID + '</td>');
$('.invoice_tbody').append('<td class="invoice_td">' + CompanyName + '</td>');
$('.invoice_tbody').append('<td class="invoice_td">' + InvRef + '</td>');
$('.invoice_tbody').append('<td class="invoice_td">' + InvDate + '</td>');
$('.invoice_tbody').append('<td class="invoice_td">' + InvTotal + '</td>');
$('.invoice_tbody').append('<td class="invoice_td">' + SageReference + '</td>');
$('.invoice_tbody').append('</tr>');
});
} // End of success
}) // End of AJAX method
} else {
alert("You need to select an input first!!!");
} // End of if statement
}); // End of click function
Мой контроллер Код функции
function get_invoices() {
// Retrieve the data sent from the .js file using _POST method
$company = $_POST['company'];
$dateFrom = $_POST['dateFrom'];
$dateTo = $_POST['dateTo'];
// Load invoice_model
// Initialise the JSON header
// Encode the response using the parameters sent from the .js file and send it back to the .js file
$this->load->model('invoice_model');
header('Content-Type: application/x-json; charset=utf-8');
echo(json_encode($this->invoice_model->get_invoices($company, $dateFrom, $dateTo)));
}
Моя модель Код функции
function get_invoices($company, $dateFrom, $dateTo) {
// Query to retrieve data from database
// Sent it back to the controller to be populated into a table
$ONEDB = $this->load->database('ONEDB', TRUE);
$ONEDB->select('InvoiceID, CompanyName, InvRef, InvDate, InvTotal, SageReference');
$ONEDB->where('ClientID', $company);
$ONEDB->where('InvDate >=', $dateFrom);
$ONEDB->where('InvDate <=', $dateTo);
$ONEDB->join('Supplier', 'Supplier.SupplierName = InvDetail.InvSupplier');
$query = $ONEDB->get('InvDetail');
$result = $query->result();
return $result;
}
Вопрос
Кто-нибудь знает, где я поступил не так, и какое исправление для моей проблемы? ???
Благодаря
Положите функцию ошибки в $ .ajax, и результат все тот же – user2482793