Ajax使用函数或数组发布不同的数据

时间:2019-01-15 12:05:39

标签: javascript jquery ajax

实际上,我正在寻找一种更好的方法来使用ajax向多个用户的php提交数据。请看一下我的代码。

$(document).ready(function(){
  $("#all").click(function(){
    document.getElementById('babon').click();
    document.getElementById('af').click();
    document.getElementById('anik').click();
    document.getElementById('abir').click();
    document.getElementById('aurko').click();
  });

  $("#babon").click(function(){
    var code = $('#rcode').val();
    $('span.babon').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"4548211","vcode":"87856"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.babon').text(result.message);
    });
  });

  $("#anik").click(function(){
    var code = $('#rcode').val();
    $('span.anik').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"54489231","vcode":"56465"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.anik').text(result.message);
    });
  });

  $("#abir").click(function(){
    var code = $('#rcode').val();
    $('span.abir').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"8798456","vcode":"78542"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.abir').text(result.message);
    });
  });

  $("#aurko").click(function(){
    var code = $('#rcode').val();
    $('span.aurko').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"548745612","vcode":"24875"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.aurko').text(result.message);
    });
  });

  $("#af").click(function(){
    var code = $('#rcode').val();
    $('span.af').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"9887254","vcode":"82499"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.af').text(result.message);
    });
  });
});

https://codepen.io/anon/pen/wRNLQO

在屏幕截图中查看输出。 enter image description here

我使用不同的ajax函数将数据提交到php。有什么办法可以从数组提交数据?这样代码看起来会更短,更漂亮?

3 个答案:

答案 0 :(得分:2)

只需编写一个可重用的函数:

var sendingfunction = function(selector, gameid, vcode){
    var code = $('#rcode').val();
    $('span.'+selector).text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":gameid,"vcode":vcode},
           function(response,status){ // Required Callback Function
               var result = jQuery.parseJSON( response );
               $('span.'+selector).text(result.message);
    });
}

$("#anik").click(function(){
    sendingfunction('anik', "54489231", "56465");
  });

$("#abir").click(function(){
    sendingfunction('abir', "54489231", "56465");
  });
...etc.

答案 1 :(得分:1)

function callPostAjax(element, code, gameId, vCode) {
    $(element).text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
         { "redeemcode": code, "gameid": gameId, "vcode": vCode },
         function (response, status) { // Required Callback Function
             var result = jQuery.parseJSON(response);
             $(element).text(result.message)
         }).fail(function (xhr, status, error) {
             $(element).text('error');
             console.error(error);
         });
}
$("#babon").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.babon', code, "4548211", "87856");
});

$("#anik").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.anik', code, "54489231", "56465");
});

$("#abir").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.abir', code, "8798456", "78542");
});

$("#aurko").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.aurko', code, "548745612", "24875");
});

$("#af").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.af', code, "9887254", "82499");
});

答案 2 :(得分:0)

您需要首先考虑wp是否支持多个记录。如果是,请给出所有相同的“类”记录,并使用adb uninstall <package name>关键字遍历所有表单元素,并在提交之前填充您的请求数据。