【发布时间】:2014-12-26 21:28:31
【问题描述】:
我有 2 个 jsp 的 products.jsp 和 viewcart.jsp。现在我正在尝试使用 fancybox 在 iframe 中显示购物车(viewcart.jsp)。当我点击添加到购物车时,iframe 不会弹出。这就是我所做的。我应该如何将 ajax 响应传递给 iframe?
$(document).ready(function(){
$('.cart').click(function() {
var pdtid = $(this).attr('data-productid');
$.ajax({
url : '${pageContext.request.contextPath}/addtocart' + pdtid,
dataType: 'json',
type : 'GET',
data :{'id': pdtid},
success: function(response) {
$.fancybox(response,{
'width' : 900,
'height' : 520,
'autoScale' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'iframe',
'href' : "${pageContext.request.contextPath}/viewcart.html"
});
}
});
});
});
编辑
$(document).ready(function() {
$('.cart').on("click", function (e) {
e.preventDefault();
var pdtid = $(this).attr('data-productid');
$.ajax({
type: "GET",
cache: false,
url: '${pageContext.request.contextPath}/addtocart' + pdtid,
data: {'id': pdtid},
success: function (response) {
$.fancybox(response,{
href : '#response',
width: 500,
height: 500
});
}
});
});
});
【问题讨论】:
-
如果你这样做
$.fancybox(response)你试图显示一个(n)(json)[object],它不会工作。您是否只想显示viewcart.jsp页面而不管您从ajax 获得的response吗?还是response中的任何部分会影响您想在fancybox 中显示的内容? -
我想将产品添加到 viewcart 并显示它。
-
好的,你告诉我你想要什么,你现在能具体回答我的问题吗?
-
响应影响?我不明白。如果我做对了,别无其他。你想要控制器部分还是代码的任何其他部分。
-
好吧,你的问题的标题令人困惑。您在问:“如何在 fancybox 中显示 ajax 响应”,所以我将重新提出我的问题:您想显示 ajax 响应的哪一部分?
标签: jquery ajax iframe fancybox-2