【发布时间】:2015-06-18 04:02:27
【问题描述】:
我正在构建一个应用程序来托管餐厅菜单。当单击菜单项时,我想通过 ajax 从我的 api 获取项目的数据并将其显示在引导模式上。
javascript
(function() {
var infoModal = $('#myModal');
$('.modal-toggle').on('click', function(){
$.ajax({
type: "GET",
url: '/api/menu-item/'+$(this).data('id'),
dataType: 'json',
success: function(data){
var item = JSON.parse(data);
var htmlData = '<ul><li>';
htmlData += item.name;
htmlData += '</li></ul>';
infoModal.find('#modal-body').innerHTML = htmlData;
}
});
infoModal.modal();
});
})(jQuery);
模态触发器
<a class="modal-toggle" data-toggle="modal" data-target="#myModal" data-id="{{{ $item->id }}}"><h5>{{{ $item->name }}}</h5></a>
模态
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria- labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div>
<div class="modal-body" id="modal-body"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Add to cart</button>
</div>
</div>
api 响应
{"id":4,"menu_category_id":446,"name":"kunzereichert","description":"Dolores impedit ut doloribus et a et aut.","price":"999.99","created_at":"2015-04-10 05:55:23","updated_at":"2015-04-10 05:55:23"}
当我单击触发器时,会弹出模式并且 ajax 请求出现在我的浏览器网络上,状态代码为 200,但是模式内部 html 没有更新。我知道这里可能有这些问题的文档,但我似乎找不到有帮助的问题。请帮忙
【问题讨论】:
-
创建一个 jsfiddle 将简化我们帮助您的过程。
-
jsfiddle.net/6o7atqd3 idk 如果它有很大帮助,因为对我的服务器的 ajax 调用不起作用
-
没关系,我设法用虚假的回复做到了。我在下面添加了一个答案。请参考它来解决问题。
-
也许以下链接会对您有所帮助。 Bootstrap 3 - How to load content in modal body via AJAX?
标签: javascript jquery ajax twitter-bootstrap