Ich benutze CodeIgniter als mein PHP-Framework und benutze jQuery/AJAX, um Anfragen zu bearbeiten. Wenn ich Daten von einer AJAX-Anfrage zurückgeben würde und sie an meine Seite mit HTML-Elementen anhängen möchte, wo sollten die HTML-Elemente enthalten sein?CodeIgniter - HTML-DOM mit Ajax anzeigen
Im Modell? Wo behandeln Sie SQL-Abfragen.
class Item_model extendes CI_Model {
public function getAll()
{
$html = '';
$query = $this->db->query("SELECT col1 FROM table1");
foreach ($query->result() as $row)
{
$html .= '<span>'.$row->col1.'</span>';
}
return json_encode(array('html' => $html));
}
Oder im Controller?
class Item extends CI_Controller {
public function item_list()
{
$html = '';
$data = $this->Item_model->getAll();
foreach($data as $dataitem){
$html .= '<span>'.$dataitem['col1'].'</span>';
}
echo json_encode(array('html' => $html));
}
Oder im Javascript?
success: function(result){
$.each(result.col1, function(k, v) {
$("#div").append('<span>'+v+'</span>');
});
}
Ich habe über den Standard/konventionellen Weg nachgedacht. Aber wenn ich raten müsste, würde ich für den Controller gehen.