这个是一个jquery加入购物车的一个函数,在IE下(我的是ie6.0的)不能执行,但在火狐下却可以运行的。
头晕了几天了,不知道哪位高手能看得出是什么原因。。
感激不尽function buy(id, num, parent) {
var goods = new Object();
var spec_arr = new Array();
var fittings_arr = new Array();
var number = 1;
var form = $('#purchase_form');
var quick = 0; if (form.length > 0) {
spec_arr = getAttrSiy(form);
var numberInput = form.find('input[name="number"]');
if (numberInput) {
number = numberInput.val();
}
quick = 1;
}
if (num > 0) {
number = num;
} goods.quick    = quick;
goods.spec     = spec_arr;
goods.goods_id = id;
goods.number   = number;
goods.parent   = (typeof(parent) == 'undefined') ? 0 : parseInt(parent); $.post(
'flow.php?step=add_to_cart',
{goods: $.toJSON(goods)},
function(response){
var res = $.evalJSON(response);
if (res.error > 0) {
if (res.error == 2) {
$.fn.colorbox({html:'<div class="message_box mb_question">' + res.message + '<p class="action"><a href="user.php?act=add_booking&id=' + res.goods_id + '&spec=' + res.product_spec + '" class="button brighter_button"><span>' + lang.booking + '</span></a><a href="javascript:void(0);" class="tool_link" onclick="$.fn.colorbox.close(); return false;">' + lang.continue_browsing_products + '</a></p></div>'});
}
else if (res.error == 6) {
openSpeSiy(res.message, res.goods_id, number, res.parent);
}
else {
$.fn.colorbox({html:'<div class="message_box mb_info">' + res.message + '<p class="action"><a href="javascript:void(0);" class="button brighter_button" onclick="$.fn.colorbox.close(); return false;"><span>' + lang.confirm + '</span></a></p></div>'});
}
}
else {
//$('#cart').html(res.content);
loadCart();
if (res.one_step_buy == '1') {
location.href = 'flow.php?step=add_to_cart';
}
else {
if ($('#page_flow').length > 0) {
location.href = 'flow.php?step=cart';
} else {
$.fn.colorbox({html:'<div class="message_box mb_info">' + lang.add_to_cart_success + '<p class="action"><a href="flow.php?step=cart" class="button brighter_button"><span>' + lang.checkout_now + '</span></a><a href="javascript:void(0);" class="tool_link" onclick="$.fn.colorbox.close(); return false;">' + lang.continue_browsing_products + '</a></p></div>'});
}
}
}
},
'text'
);
}

解决方案 »

  1.   

    光是看函数本身是不行的,还要看html和后台
      

  2.   

    JS对浏览器兼容性支持得不够好,下个IE开发工具或者用VS调试JS
      

  3.   

    谢谢楼上二位的提示。
    经调试:
    var res = $.evalJSON(response);
    这里在IE下获取有误..
    只是程序在本地测试是OK的,我本地的浏览器也是IE6.0的,为什么一传到服务器上去再浏览就会出错了。
    脚本是PHP的,莫非这跟服务器也有影响。。
    哪位高人,也有过这样的经历,希望能告知一二,不甚感激。。
      

  4.   

    郁闷,我换了IE8的全都可以运行的.
    只是在IE6
    var res = $.evalJSON(response);
    这里获取不到...
    那位高手能指点一下...