У меня проблема со следующим кодом, который не хочет работать в Chrome и Safari:
function updateBasket(data) {
if (data != '') {
$.each(data, function(k, v) {
if (jQuery.inArray(k, data.remove) == -1 && $('.' + k).length > 0) {
$('.' + k).html(v);
}
});
}
}
$('.add_to_basket').live('click', function() {
var button = $(this);
var classes = $(this).attr("class");
var identity = $(this).attr("rel").split('_');
var url = '/basket/action/add/type/' + identity[0] + '/id/' + identity[1];
$.ajax({
type: 'POST',
url: url,
data: ({ cls : classes }),
dataType: 'json',
success: function(data) {
if (!data.error) {
updateBasket(data);
button.replaceWith(data.button);
}
}
});
return false;
});
Триггер .add_to_basket работает только с первым щелчком - после этого он не работаетДелать что-нибудь.Он отлично работает с Firefox и IE, но по какой-то причине Chrome и Safari это не нравится.
Вот ответ json, который приходит после первого клика:
{
"error": false,
"items": {
"27": {
"price": "120.00",
"qty": 1,
"discount": 0,
"vat": 0,
"price_vat": 120
}
},
"bundles": [],
"no_of_items": 1,
"sub_total": "£120.00",
"vat_total": "£0.00",
"total": "£120.00",
"remove": ["remove", "error", "button", "items", "basket"],
"button": "<a href=\"#\" class=\"button button_red add_to_basket\" rel=\"item_27\">Remove from the basket<\/a>"
}
итот, который идет после второго (возвращается в исходное состояние):
{
"error": false,
"items": [],
"bundles": [],
"no_of_items": 0,
"sub_total": "£0.00",
"vat_total": "£0.00",
"total": "£0.00",
"remove": ["remove", "error", "button", "items", "basket"],
"button": "<a href=\"#\" class=\"button button_blue add_to_basket\" rel=\"item_27\">Add to the basket<\/a>"
}
Есть идеи, что я здесь не так делаю?
Чтобы сделать это даже трудным - это происходит только сChrome и Safari на Mac OSX 10.5 (Leopard) - но не на Snow Leopard - с использованием тех же версий браузеров (Chrome 11.0.696.71)
Просто обновление - я провел несколько тестов, и оноПохоже, проблема с сессиями.Он также не позволяет мне войти в систему - это означает, что сеанс не создается при использовании Chrome или Safari в Mac OS X 10.5.
Есть идеи?