如何将变量从一个ajax函数传递到其他
问题描述:
我正在开发一个使用codeigniter和ajax的购物车。现在我在ajax部分面临一个问题。我需要从一个AJAX功能考绩一个变量,其他如何将变量从一个ajax函数传递到其他
这里是我的AJAX功能,我在$(".product_add").click(function(event)
功能的ID,我需要得到相同的$(".view_cart").click(function(event)
功能
$(".view_cart").click(function(event) {
$.ajax({
type: 'POST',
url: '<?php echo site_url("ajax_controller/view_cart")?>',
data: {
id: '1'
},
success: function(response) {
$("#cart_container").html(response);
$("#myModal_cart").modal('show');
}
}); /* Aajx */
});
$(".product_add").click(function(event) {
var id = $(this).data('id');
alert(id);
$.ajax({
type: 'POST',
url: '<?php echo site_url("ajax_controller1/product_add")?>',
data: {
id: '1'
},
success: function(response) {
$("#cart_container").html(response);
$("#myModal_cart").modal('show');
}
}); /* Aajx */
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li style=""><a href="javascript:void(0);" class="product_add">pro Items</a></li>
<a href="#" id="edit_product" data-id="<?php echo $fea['product_id'];?>" name="id" data-text="Add To Cart" class="my-cart-b item_add add_to_cart">Add To Cart</a>
答
你可以定义一个变量,如
var globalId = 0;
然后
$(".product_add").click(function(event) {
var id=$(this).data('id');
globalId = id;
}
$(".view_cart").click(function(event) {
var currentId = globalId;
}
答
只需修改上面的回答 你只是在第一次的AJAX调用使用jquery创建全局变量“窗口”
$(".product_add").click(function(event) {
var id=$(this).data('id');
window.new_id = id;
}
,并在那里你想在你的页面中使用使用它
$(".view_cart").click(function(event) {
var currentId = new_id;
}
当您的第一个ajax方法执行时,您可以暂时将所需的数据保存到隐藏字段,然后当您调用第二个ajax方法时,可以从隐藏字段获取数据。 –
你可以在'.view_cart'中添加一些数据属性。这将是类似于产品添加中的点击时,您将具有'var id = $(this).data('id'); $(“。view_cart”)。data('product_id',id);'你可以通过$(“。view_cart”)。data('product_id')来访问它。 –