2016-10-26 1 views
1

Как использовать функцию loadData JavaScript для CodeIgniter 3? У меня есть вид транзакции, в котором есть детали, которые нужно купить, я хочу использовать loadData для загрузки подробного представления.loadData() function on codeigniter 3

Это моя структура файла:

myproject: 
-application 
    --controller 
    ---admin 
     -----dashboard.php 
     -----transaction.php 
    ---home.php 
    --model 
    ---mymodel.php 
    --view 
    ---transaction 
     ----transaction_index.php <- the view that I want to use for calling 
     ----transaction_detail.php <- the view that I want to call 
    ---home.php 

И мой transaction_index Основная часть:

<div id="t_detail"></div> 

Script

$(document).ready(function(){ 
function loadData(args){ 
    $("#t_detail").load("<?php echo base_url('admin/transaction/getDetail'); ?>"); 
} 
loadData(); 

function emptying(args){ 
    $("#id").val(); 
    $("#name").val(); 
    $("#category").val(); 
    $("#price").val(); 
    $("#total").val(); 
} 
}) 

Моя деталь сделка просто содержать таблицу И мой контроллер

public function getDetail(){ 
    $data['temporary'] = $this->mymodel->getAllData('temporary')->result(); 
    $data['limit'] = $this->mymodel->countAll('temporary'); 
    $this->load->view('transaction/transaction_detail', $data); 
} 

ответ

1

Возможно, вы пытаетесь загрузить HTML-представление внутри div с помощью jQuery и CodeIgniter. Я бы использовал $.ajax method или $.get method, предоставленный jQuery, поскольку вы уже используете его.

Javascript пример кода будет, как:

// var site_url returns your codeigniter application's URL by splitting it before index.php. 
// if you're using .htaccess or mod_rewrite for pretty urls (no index.php, you may need to find another way to get the URL of your site) 

var site_url = window.location.protocol + '//' + window.location.hostname + window.location.pathname.split('index.php')[0] + 'index.php'; 

//do a GET request for the transaction/getDetail endpoint 
$.get(site_url + 'index.php/transaction/getDetail', function(html) { 
    //load the HTML returned by the codeigniter controller into the #t_detail element 
    $("#t_detail").html(html); 
}); 

отметьте, пожалуйста, как принято отвечать, если вы чувствуете, что это решает проблему.

+0

все еще не показывает ничего, должен ли я включать 'index.php'? Я не использую index.php для своего URL-адреса, я использую .htaccess rewrite, но спасибо до – Teletubbies

+0

, если вы не используете .htaccess, вы можете попробовать что-то вроде окна window.location.protocol + '//' +. location.hostname' ... Это будет работать, если ваше приложение не находится в подкаталоге. Если он находится в подкаталоге, вы захотите получить URL-адрес своих сайтов по-другому. – KFE

+0

вы говорите, что он все еще ничего не показывает ... вы получаете какие-либо ошибки с PHP или Javascript (проверьте через консоль) – KFE