好的,这是我经过几个月的互联网搜索后的问题。我想从jquery获取正确的链接以获取正确的div并在页面上显示它们。现在,文件以GET
为根我有2个文件。
shopping_cart.php和jquery-oscart.js
jquery-oscart.js $.ajax({ type: 'POST', url: encodeURI($(location).attr('href')) + '&action=update_product&ajax=1', data: $('form[name=cart_quantity]').serialize(), async:false, success: function(data) { $("#content-body").html(data); //Hide_Load(); //update_cart(); }, dataType: 'html' }); // Updating cart total // $.ajax({ type: 'POST', url: encodeURI($(location).attr('href')) + '&action=update_product&show_total=1&ajax=1', data: $('form').serialize(), success: function(data) { $('#boxcart-total').html(data); //Hide_Load(); } }); return(false); });
行动:.attr('action')
显示的div应该是shoppingcart文件中的#content_body。
在shoppingcart.php文件中有一个调用的行为:
<script type="text/javascript" src="js/jquery-oscart.js"></script> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
在正常状态下没有问题。
这是我的问题。
执行文件时,Firefox给出了以下规则:
POST domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&action=update_product&ajax=1 GET domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2 POST domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&action=update_product&show_total=1&ajax=1 GET domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2
而不是
POST domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&action=update_product&ajax=1 GET domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&ajax=1 POST domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&action=update_product&show_total=1&ajax=1 GET domain../index.php?option=com_oscommerce&osMod=shopping_cart&Itemid=2&show_total=1&ajax=1
在GET中。我想念&amp; ajax = 1和&amp; show_total = 1&amp; ajax = 1
必须在jquery_oscart.js中更改某些内容但我不知道在哪里更改......
我尝试了使用正确链接的.load函数,但这不是解决方案。
我希望有人能帮助我。
原始代码是:
jQuery.ajax({
type: 'POST',
url: encodeURI($('form[name=cart_quantity]').attr('action')) + '&ajax=1',
data: jQuery('form[name=cart_quantity]').serialize(),
success: function(data) {
jQuery("#content-body").html(data);
//Hide_Load();
//update_cart();
}
});
// Updating cart total
jQuery.ajax({
type: 'POST',
url: encodeURI($('form[name=cart_quantity]').attr('action')) + '&show_total=1&ajax=1',
data: jQuery('form').serialize(),
success: function(data) {
jQuery('#boxcart-total').html(data);
//Hide_Load();
}
});
返回(假); });
它给出了链接:
域/ index.php的&安培; AJAX = 1
而不是
域../的index.php选项= com_oscommerce&安培; osMod = shopping_cart&安培; ITEMID = 2及行动= update_product&安培; AJAX = 1
这可能是'形式'吗?它似乎将我发送到index.php而不是index.php?option = com_oscommerce&amp; osMod = shopping_cart
问题解决了吗?选项...链接已隐藏。我看到另一个文件。现在POST链接很好。我得到的问题是GET链接。
似乎是url:encodeURI($('form [name = cart_quantity]')。attr('action'))+'&amp; ajax = 1',
获取2个链接POST返回GET。返回的链接最后错过了&amp; ajax = 1。
答案 0 :(得分:0)
也许试试
url: encodeURI($(location).attr('href') + '&action=update_product&ajax=1'),
(我把&amp; action = blahblah放在encodeURI里面)
答案 1 :(得分:0)
问题可以通过添加+&#39; format = ajax&#39;来解决。在网址
像:
jQuery.ajax({
type: 'POST',
url: encodeURI($('form[name=cart_quantity]').attr('action')) + '&format=ajax'+ '&ajax=1',
data: jQuery('form[name=cart_quantity]').serialize(),
success: function(data) {
jQuery("#content-body").html(data);
//Hide_Load();
//update_cart();
}
});
// Updating cart total
jQuery.ajax({
type: 'POST',
url: encodeURI($('form[name=cart_quantity]').attr('action')) + '&format=ajax'+ '&show_total=1&ajax=1',
data: jQuery('form').serialize(),
success: function(data) {
jQuery('#boxcart-total').html(data);
//Hide_Load();
}
});