我有一个旧的AJAX代码可以在JQUERY 1.8.3中运行,但在更高版本中失败了。当我尝试使代码保持最新并尽量避免弃用代码时,我需要更新我的脚本。
当前代码
$('.productlist input[type=submit]').bind('click', function () {
var i = 0;
var a = $(this).closest('.productlist2').find('input[data-productid][value!=]').length;
$(this).closest('.productlist,.WPproductlist').find('input[data-productid][value!=]').each(function () {
if ($(this).attr('data-produktfarve') != "") {
$.ajax({
url: '?ProductID=' + $(this).attr('data-productid') + '&EcomOrderLineFieldInput_farvevalg=' + $(this).attr('data-produktfarve') + '&Quantity=' + parseFloat($(this).val()) + '&cartcmd=add',
success: function (data) {
i++;
if (i == a) {
window.location.reload();
}
}
});
} else {
$.ajax({
url: '?ProductID=' + $(this).attr('data-productid') + '&Quantity=' + parseFloat($(this).val()) + '&cartcmd=add',
success: function (data) {
i++;
if (i == a) {
window.location.reload();
}
}
});
}
});
setTimeout(function () {
window.location.reload();
}, 500);
return;
});
我已尝试使用各种新版本的JQUERY获取和发布请求,但无济于事。
答案 0 :(得分:0)
试试这个,
$(function(){
$('.productlist input[type=submit]').on('click', function () {
var i = 0;
var a = $(this).closest('.productlist2')
.find('input[data-productid][value!=""]').length;
$(this).closest('.productlist,.WPproductlist')
.find('input[data-productid][value!=""]').each(function () {
var myurl = '?ProductID=' + $(this).data('productid');
if ($(this).data('produktfarve') != "") {
myurl+='&EcomOrderLineFieldInput_farvevalg='+$(this).data('produktfarve');
}
var qty=this.value;
$.ajax({
url: myurl+ '&Quantity=' + parseFloat(qty) + '&cartcmd=add',
success: function (data) {
i++;
if (i == a) {
window.location.reload();
}
}
});
});
setTimeout(function () {
window.location.reload();
}, 500);
return;
});
});