将旧的ajax代码更新为当前的JQUERY版本

时间:2014-04-03 11:25:05

标签: jquery jquery-post jquery-get

我有一个旧的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获取和发布请求,但无济于事。

1 个答案:

答案 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;
    });
});