AJAX Codeigniter 获取模态数据



我已经使用 CodeIgniter 一段时间了,我正在尝试让一个模态工作。我正在使用引导库,因此模型本身显示起来相当简单。问题是我正在尝试使用 ajax 从数据库中加载动态信息。但我似乎无法触发它。我的脚本什么都不做,我已经尝试了一段时间了。

function fun(control){
$.ajax({
url:'<?=base_url()?>admin/proveedores/userDetails/'+control.id,
method: 'post',
data: {uid: control.id},
dataType: 'json',
success: function(response){
var len = response.length;
if(len > 0){
// Read values
var uname = response[0].razon_social;
var name = response[0].cuit;
var email = response[0].rubro;
$('#suname').text(uname);
$('#sname').text(name);
$('#semail').text(email);
}
</script>

网页部分

<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<div >
Username : <span id='suname'></span><br/>
Name : <span id='sname'></span><br/>
Email : <span id='semail'></span><br/>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

函数调用

<tr id="<?= $e['id'] ?>" onclick="fun(this)" data-toggle="modal" data-target="#myModal" >

控制器

public function userDetails($cid){
// POST data
//  $postData = $this->input->post();
// get data
$data = $this->model_proveedores->get($cid);
echo json_encode($data);
}

我认为这对你有帮助。 请将模态内容保存在 id为 myModal的div 中,并在模态显示操作中调用 ajax。

莫代尔

<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog" role="document">
// your modal content
</div>
</div>

呼叫按钮

<tr data-id="<?= $e['id'] ?>" data-toggle="modal" data-target="#myModal">

剧本

var modal = $("#myModal");
modal.on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var id      = button.data('id'); 
$.ajax({
url      : '<?= base_url() ?>admin/proveedores/userDetails/'+id,
type     : 'post',
dataType : 'json',
data     : { uid: id},
success  : function(response)
{
var len = response.length;
if(len > 0){
// Read values
var uname = response[0].razon_social;
var name = response[0].cuit;
var email = response[0].rubro;
$('#suname').text(uname);
$('#sname').text(name);
$('#semail').text(email);
}
},
error    : function(xhr)
{
console.log(xhr)
}
});
});

您的响应是 JSON 编码的。在将其用作对象之前,必须对其进行解码。

response=JSON.parse(response);

相关内容

  • 没有找到相关文章

最新更新